Пакеты и модули
Настоящие большие программы состоят не из одного файла, а из нескольких. И код из одного файла должен иметь доступ к коду из другого.
Модули - это файлы с кодом на python. Т.е. раньше мы писали как раз модули.
Способы импортирования переменных и функций из других модулей:
import x # импортируется модуль целиком x.a
from x import a # импортируется конкретное имя из модуля
# при импорте можно изменить имя:
import x as xx
from x import a as aa
Инициализация пакета. При первом импортировании модуля в программе, а его можно импортировать в разных файлах, но один раз при самом первом импортировании запускается весь код модуля. В примере получилось, что один раз вывелось “hello from module1”.
Получается, что в модуле можно написать какой-то инициализирующий код, который должен выполняться только один раз в начале.
Пакеты - это каталоги с модулями. В пакете обязательно должен быть файл __init__.py
. Чаше всего этот файл пустой. Но там можно написать код, который выполняется при первом использовании пакета.
При обращении к модулю внутри пакета необходимо разделять имена пакетов и модулей точкой.