__init__.py

1. Основное назначение __init__.py

  1. Модуль пакета

    • Любая папка, содержащая файл __init__.py, считается пакетом.

    • Без него Python не будет воспринимать папку как пакет (в старых версиях Python до 3.3 это было строго обязательно; сейчас опционально, но всё равно часто используется).

  2. Инициализация пакета

    • В этом файле можно писать код, который должен выполняться при импорте пакета.

    • Можно импортировать подмодули, задавать переменные или константы пакета.


2. Примеры использования

Пример 1: Создание пакета

Структура проекта:

my_package/
    __init__.py
    module1.py
    module2.py

Содержимое __init__.py может быть пустым:

# my_package/__init__.py

Импорт пакета:


Пример 2: Инициализация при импорте

Можно импортировать подмодули прямо в __init__.py, чтобы их было удобно использовать:

Теперь:


Пример 3: Код и переменные пакета

Импорт:

  • При этом при импорте выполнится print("Пакет my_package загружен").


3. Применение в автотестах

  • Структура тестов

  • Позволяет:

    • Импортировать тестовые модули как пакет: from tests import test_login.

    • Настроить глобальные фикстуры или константы пакета в __init__.py.

  • Page Object Model

  • Можно импортировать все страницы сразу:


💡 Вывод:

  • __init__.py делает папку пакетом Python, позволяет инициализировать пакет, импортировать подмодули и задавать переменные.

  • Особенно полезен для структурирования автотестов, Page Object Model и повторного использования кода.

Last updated

Was this helpful?