Чтобы импортировать файл в Python, вы можете использовать оператор import, который делает содержимое модуля доступным в вашем текущем скрипте. Оператор импорта объединяет две операции; он ищет именованный модуль, а затем привязывает результаты поиска к имени в локальной области видимости.
Например, если вы хотите создать случайное число, вам нужно импортировать случайный пакет, используя «import random»; если вы собираетесь получить доступ к файловой системе, можно использовать пакет ОС.
Python может помещать определения в один файл и использовать их в скрипте или интерактивном экземпляре интерпретатора. Такой файл называется модулем; определения из него могут быть импортированы в другие модули или в основной модуль (набор переменных, к которым вы можете получить доступ в сценарии, выполняемом на верхнем уровне и в режиме калькулятора).
Имя файла представляет собой имя модуля с добавленным суффиксом .py. Имя модуля (в виде строки) доступно как значение глобальной переменной __name__.
Например, создайте новый файл с именем sum.py и добавьте в него следующий код.
|
1 2 3 |
def add(a, b): c = a + b return c |
В файле sum.py есть одна функция add(), которая принимает два параметра и возвращает сумму предоставленных аргументов. Файл sum.py — это модуль в указанном выше файле, а add() — его метод.
Мы можем импортировать модуль суммы, используя «import sum» внутри другого файла. Но сначала давайте импортируем файл app.py, который находится в том же каталоге, что и файл sum.py.
|
1 2 3 |
# app.py import sum |
Итак, синтаксис оператора import следующий.
Синтаксис import
|
1 |
import modulename |
В нашем примере modulename = sum.
Теперь мы можем использовать функцию add() модуля sum.
|
1 2 3 4 5 |
# app.py import sum print(sum.add(3, 4)) |
Выход
|
1 |
7 |
Если вы собираетесь использовать функцию add() более одного раза в своем файле, вы можете присвоить ей локальное имя.
|
1 2 3 4 5 6 7 |
# app.py import sum summation = sum.add print(summation(3, 4)) |
Выход
|
1 |
7 |
В приведенном выше коде мы назначили функцию sum() для суммирования локального имени, а затем использовали его в любом месте файла.
Подробнее об импорте модулей
Модули Python могут содержать исполняемые операторы, а также определения функций. Эти операторы предназначены для инициализации модуля. Модули выполняются только в первый раз, когда имя модуля встречается в операторе import.
Модули Python могут импортировать другие модули. Это хорошая практика, но не обязательно размещать все операторы импорта в начале файла или модуля (или скрипта). Вместо этого имена импортируемых модулей помещаются в глобальную таблицу символов импортирующего модуля, которую Python точно отслеживает.
Некоторые варианты оператора import импортируют имена из модуля непосредственно в таблицу символов.
Например, см. следующий код.
|
1 2 3 |
from sum import add print(add(3, 4)) |
Выход
|
1 |
7 |
Вы получите тот же результат. Здесь не вводится имя модуля в локальную таблицу символов (поэтому сумма не определена).
Существует даже вариант импорта всех имен, которые определяет модуль.
|
1 2 3 |
from sum import * print(add(3, 4)) |
Выход
|
1 |
7 |
При этом импортируются все имена, кроме тех, которые начинаются с подчеркивания(_).
