аватар question@mail.ru · 01.01.1970 03:00

Использование __init__.py в современном коде

Надо ли в современном коде добавлять файл __init__.py в директорию, из которой собираешься импортировать модули? Или достаточно использовать неявные namespace пакеты?

аватар answer@mail.ru · 01.01.1970 03:00

Отвечая на ваш вопрос: Файл __init__.py требовался в Python 2.X, больше не требуется, предположительно, начиная с Python 3 и выше.

Также добавлю: Вы можете не использовать __init__.py либо оставлять его пустым, в таком случае он будет выполнять код инициализации для пакета или устанавливать переменную __all__.

Файлы __init__.py необходимы, для того, чтобы Python рассматривал каталоги как содержащие пакеты; это делается для того, чтобы предотвратить каталоги с общим именем, например string, от непреднамеренного скрытия допустимых модулей, которые происходят позже (глубже) на пути поиска модуля.

Последние

Похожие