Модули и пакеты Python: создание и импорт

Мы просто и по делу рассказываем про ИИ-инструменты для работы: сравнения, пошаговые гайды, бесплатные альтернативы и реальные сценарии применения. Помогаем выбрать между ChatGPT, Gemini, Claude, локальными моделями и десятками узкоспециализированных сервисов — от дизайна и HR до аналитики и SEO. Меньше хайпа, больше практики и экономии времени каждый день.

Pythonмодулипакеты

В Python модули и пакеты помогают организовать код, переиспользовать функции и поддерживать проект в порядке. Это одна из базовых тем для новичков и обязательная практика для реальной разработки.

Что такое модуль

Модуль — это обычный файл с расширением .py, в котором находятся функции, классы и переменные.

Пример файла math_utils.py:

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

Импорт в другом файле:

import math_utils

print(math_utils.add(2, 3))

Способы импорта

  1. Импорт всего модуля:

    import math_utils
    
  2. Импорт конкретной функции:

    from math_utils import add
    print(add(2, 3))
    
  3. Импорт с псевдонимом:

    import math_utils as mu
    print(mu.add(2, 3))
    

Что такое пакет

Пакет — это папка, в которой лежат модули. Он нужен для структурирования большого проекта.

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

project/
│
├── main.py
└── utils/
    ├── __init__.py
    └── math_utils.py

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

from utils import math_utils
print(math_utils.add(5, 7))

Или так:

from utils.math_utils import add
print(add(5, 7))

Зачем нужен __init__.py

Файл __init__.py показывает, что директория работает как пакет. В современных версиях Python он не всегда обязателен, но его часто оставляют для совместимости и явной структуры проекта.

Как Python ищет модули

  • в текущей папке
  • в стандартной библиотеке
  • в установленных внешних пакетах

Посмотреть пути поиска можно так:

import sys
print(sys.path)

Частые ошибки

  • 🔹 ModuleNotFoundError — Python не нашёл модуль
    Причины:

    • неправильное имя файла
    • неверная структура проекта
    • запуск скрипта не из той директории
  • 🔹 циклический импорт
    Возникает, когда два модуля импортируют друг друга. Лучше выносить общую логику в третий модуль.

  • 🔹 конфликт имён
    Не называйте файл random.py, sys.py, json.py — это может перекрыть стандартные модули Python.

Практический совет

Для небольших скриптов достаточно модулей, а для приложений, ботов, API и библиотек лучше сразу использовать пакеты. Это упростит поддержку, тестирование и масштабирование проекта ⚙️

Короткий вывод

  • Модуль = один .py файл
  • Пакет = папка с модулями
  • Импорт = способ подключить готовый код в другой части программы 💡

Полезная привычка Python-разработчика — с самого начала раскладывать код по модулям и пакетам, а не писать всё в одном файле. Это делает проект чище, понятнее и профессиональнее 🚀

Заодно стоит заглянуть в подборку каналов про IT — там часто публикуют полезные разборы Python, архитектуры проектов и практику разработки 📚

🗣 Подборки каналов
🧠 Каталог ботов и приложений
🗺 Навигация

Читайте так же