Основные тезисы
1. Если Вы хотите импортировать модуль целиком, Вы можете сделать это с помощью выражения import имя_модуля. Вы можете импортировать более одного модуля одновременно, используя список, разделенный запятыми. Например:
import mod1
import mod2, mod3, mod4
хотя последняя форма не рекомендуется по стилистическим причинам, и лучше и красивее выразить то же в более подробной и явной форме, например:
import mod2
import mod3
import mod4
2. Если модуль импортируется указанным выше способом и Вы хотите получить доступ к какой-либо из его сущностей, вам необходимо указать префикс имени сущности, используя точечную нотацию. Например:
import my_module
result = my_module.my_function(my_module.my_data)
Код использует две сущности, поступающие из модуля my_module: функцию с именем my_function() и переменную с именем my_data. Оба имени должны иметь префикс my_module. Ни одно из имен импортированных сущностей не конфликтует с идентичными именами, существующими в пространстве имен Вашего кода.
3. Вам разрешено не только импортировать модуль целиком, но и импортировать из него только отдельные объекты. В этом случае импортированные объекты не должны иметь префикса при использовании. Например:
from module import my_function, my_data
result = my_function(my_data)
Вышеупомянутый способ - несмотря на его привлекательность - не рекомендуется из-за опасности возникновения конфликтов с именами, полученными в результате импорта пространства имен кода.
4. Самая общая форма приведенного выше оператора позволяет импортировать все сущности, предлагаемые модулем:
from my_module import *
result = my_function(my_data)
Примечание: этот вариант импорта не рекомендуется по тем же причинам, что и ранее (угроза конфликта имен здесь еще более опасна).
5. Вы можете изменить имя импортированного объекта "на лету", используя ключевое слово as в инструкции import. Например:
from module import my_function as fun, my_data as dat
result = fun(dat)
Упражнение 1
Вы хотите вызвать функцию make_money(), содержащуюся в модуле с именем mint. Ваш код начинается со следующей строки:
import mint
Какова правильная форма вызова функции?
Упражнение 2
Вы хотите вызвать функцию make_money(), содержащуюся в модуле с именем mint. Ваш код начинается со следующей строки:
from mint import make_money
Какова правильная форма вызова функции?
Упражнение 3
Вы написали функцию с именем make_money. Вам нужно импортировать функцию с тем же именем из модуля mint и Вам не хочется переименовывать какое-либо из ранее определенных имен. Какой вариант инструкции import может помочь Вам в решении проблемы?
Упражнение 4
Какая форма вызова функции make_money допустима, если Ваш код начинается со следующей строки?
from mint import *