Модули и пакеты 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. Узнайте, как писать код многократного использования с использованием def, определять аргументы, возвращаемые значения и понимать область действия локально и глобально.
Виртуальные среды PythonОсвойте виртуальные среды Python. Узнайте, как безопасно создавать, активировать и управлять зависимостями с помощью venv и pip.
Математический модуль PythonОткройте для себя мощь встроенного математического модуля Python. Узнайте о тригонометрических функциях, логарифмах, методах округления и константах.
Рекомендуемые ресурсы Python
Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.
Как отсортировать список в Python
Узнайте, как сортировать список в Python с помощью метода sort() и функции sorted(). Ознакомьтесь с примерами пользовательской сортировки ключей и обратного порядка.
Шпаргалка по строковым методам Python
Полное справочное руководство по манипулированию строками в Python. Мастер форматирования, поиска, разделения, замены и проверки свойств строк.
Python против JavaScript: какой язык программирования лучше?
Всестороннее сравнение Python и JavaScript. Изучите синтаксические различия, производительность, варианты использования (серверная и клиентская части) и примеры кодирования.