Пакеты и модули

1. Модуль

Определение

  • Модуль — это файл с расширением .py, содержащий код Python: функции, классы, переменные и исполняемый код.

  • Позволяет разбивать программу на логические части, облегчая поддержку и переиспользование кода.

Пример модуля

math_utils.py:

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

Импорт и использование:

import math_utils

print(math_utils.add(2, 3))       # 5
print(math_utils.subtract(5, 2))  # 3

Или выборочно:

from math_utils import add
print(add(10, 20))  # 30

2. Пакет

Определение

  • Пакет — это папка с файлами Python, которая содержит файл __init__.py.

  • Позволяет структурировать код в виде иерархии модулей.

  • Пакет может содержать:

    • Модули (.py файлы)

    • Подпакеты (другие папки с __init__.py)

Пример структуры пакета

my_package/
    __init__.py
    module1.py
    module2.py
    subpackage/
        __init__.py
        module3.py

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

from my_package import module1
from my_package.subpackage import module3

module1.func1()
module3.func3()

Можно импортировать всё через __init__.py:

# my_package/__init__.py
from .module1 import func1
from .module2 import func2
from my_package import func1, func2
func1()
func2()

3. Отличие модуля и пакета

Характеристика
Модуль
Пакет

Что это

Файл .py

Папка с __init__.py

Может содержать

Код, функции, классы

Модули и подпаки

Цель

Логическая единица кода

Структурирование модулей в иерархию

Пример

math_utils.py

my_package/


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

  • Модули:

    • Удобно хранить утилитарные функции, отдельные тестовые шаги.

    # utils.py
    def login(user, password):
        ...
  • Пакеты:

    • Структурируют тесты по логике, например:

      tests/
          __init__.py
          test_login.py
          test_registration.py
      pages/
          __init__.py
          login_page.py
          home_page.py
    • Позволяют импортировать сразу весь набор тестов или страниц.


💡 Вывод:

  • Модуль — это отдельный файл Python, содержит код, функции, классы.

  • Пакет — это папка с __init__.py, содержит модули и подпаки, структурирует проект.

  • Правильное использование пакетов и модулей облегчает поддержку, масштабирование и повторное использование кода в автотестах.

Last updated

Was this helpful?