Зачем в Python модулях создают файлы __init__.py?

Файл init.py в Python служит для обозначения каталога как пакета. Без этого файла Python не будет рассматривать папку как пакет, и импорт модулей из неё будет невозможен или затруднён.

Короткий ответ

Что ответить на собеседовании

Файл init.py в Python служит для обозначения каталога как пакета. Без этого файла Python не будет рассматривать папку как пакет, и импорт модулей из неё будет невозможен или затруднён.

Подробный разбор

Ответ с пояснениями

Файл __init__.py в Python служит для обозначения каталога как пакета. Без этого файла Python не будет рассматривать папку как пакет, и импорт модулей из неё будет невозможен или затруднён.

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

Пример структуры:

mypackage/
  __init__.py
  module1.py
  module2.py

Если в __init__.py написать:

from .module1 import func1

то можно будет импортировать func1 напрямую:

from mypackage import func1

Таким образом, __init__.py играет роль индекса и инициализатора пакета.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее