Модули и пакеты Python: организация проектов кода

Понимать модули и пакеты Python. Узнайте, как импортировать файлы, структурировать большие проекты, использовать стандартную библиотеку и использовать абсолютный и относительный импорт.

Попробуйте в редакторе

Обзор

По мере роста приложений хранение всего кода в одном файле становится невозможным для управления, чтения и отладки. Python решает эту проблему, организуя код в модули и пакеты. Модуль — это просто файл Python (оканчивающийся на «.py»), содержащий переменные, функции, классы и исполняемые операторы. Разделив код на логические модули, вы можете создать чистую, многократно используемую кодовую базу, которую легко тестировать и использовать в различных приложениях.

Чтобы использовать код из одного модуля в другом, Python использует ключевое слово import. Вы можете импортировать модуль целиком (например, «импортировать математические данные»), импортировать определенные атрибуты (например, «из математических импортов pi, sqrt») или импортировать модуль под псевдонимом, чтобы сохранить краткость кода (например, «импортировать панды как pd»). Система импорта Python выполняет поиск по определенному списку путей, начиная с текущего каталога, за которым следуют каталоги установки и стандартная библиотека, прежде чем разрешить импорт.

Пакет — это набор модулей, организованных в структуру каталогов. Чтобы определить каталог как пакет, он традиционно содержал файл с именем `__init.py` (хотя это необязательно для пакетов пространства имен вPython 3.3+). Эта структура позволяет группировать связанные модули в одном пространстве имен. Например, пакет с именем «database» может содержать модули «connection.py» и «queries.py». Вы могли бы импортировать их содержимое, используя запись через точку: `import data.connection`. Освоение модулей и пакетов является ключом к структурированию масштабируемых, готовых к использованию приложений Python.

Код и вывод выполнения

Использование системы импорта Python для доступа к математическим функциям и использование пользовательских псевдонимов.

import math
from math import sqrt as square_root

# Calculate mathematical constants and values
val = 16
result = square_root(val)
pi_value = math.pi

print(f"Square root of {val} is {result}")
print(f"Value of Pi: {pi_value:.4f}")
print(f"Cosine of 0 is {math.cos(0)}")
Терминальный выход
Square root of 16 is 4.0
Value of Pi: 3.1416
Cosine of 0 is 1.0

Пошаговая реализация

  • Отделение бизнес-логики от обработчиков маршрутов
  • Использование стандартных библиотечных утилит в приложениях
  • Публикация кода в виде многоразовых библиотек с открытым исходным кодом.

Часто задаваемые вопросы

Какова цель __init.py?

Он инициализирует каталог как пакет Python. Его также можно использовать для предоставления определенных подмодулей или переменных на уровне пакета для упрощения импорта.

Как установить внешние модули?

Вы используете диспетчер пакетов Python, pip, через командную строку (например, запросы на установку pip), который загружает и устанавливает пакет из PyPI.

Связанные темы

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.