Звичайні пакети
Оновлено: 28.04.2023
Python визначає два типи пакетів: звичайні пакунки і пакети простору імен. Звичайні пакунки — це традиційні пакунки, які існували в Python 3.2 і раніше. Звичайний пакет зазвичай реалізується як каталог, що містить файл __init__.py. Коли імпортується звичайний пакет, цей файл __init__.py виконується неявно, а об’єкти, які він визначає, прив’язуються до імен у просторі імен пакета. Файл __init__.py може містити той самий код Python, який може містити будь-який інший модуль, і Python додасть деякі додаткові атрибути до модуля під час його імпорту.
Наприклад, наведений нижче макет файлової системи визначає «батьківський» пакет верхнього рівня з трьома підпакетами:
parent/
__init__.py
one/
__init__.py
two/
__init__.py
three/
__init__.py
Імпорт parent.one неявно виконає parent/__init__.py і parent/one/__init__.py. Наступні імпорти parent.two або parent.three виконають parent/two/__init__.py та parent/three/__init__.py відповідно.