Звичайні пакети

Оновлено: 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 відповідно.