Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Python

Пакеты в Python: структура, импорт и лучшие практики

Пакеты в Python

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

Видео: Пакеты Python — организация кода

Что такое пакеты?

Так как мы группируем файлы на диске в папки для наглядности, Python использует пакеты для объединения связанных модулей. Пакет — это просто каталог, содержащий файл __init__.py — это сообщает Python, что папку следует рассматривать как пространство имён.

Когда проект расширяется, хранение похожих модулей вместе в пакете делает проект управляемым и самодокументируемым. Пакеты также могут содержать подпакеты, отражая вложенность директорий.

Например, структура игрового проекта может выглядеть так:

Пакеты в Python: структура, импорт и лучшие практики

Импорт модулей из пакета

Модули импортируются с помощью точечной нотации (.). Чтобы подключить start.py из пакета Game/Level, используйте:

import Game.Level.start

Если start.py определяет функцию select_difficulty(), вызовите её с полным пространством имён:

Game.Level.start.select_difficulty(2)

Для уменьшения вербальности можно импортировать модуль в локальное пространство имён:

from Game.Level import start

Теперь select_difficulty доступна как:

start.select_difficulty(2)

Для ещё более компактного импорта можно импортировать саму функцию:

from Game.Level.start import select_difficulty

Тогда вызов становится простым:

select_difficulty(2)

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

Python разрешает импорт пакетов, просматривая директории, перечисленные в sys.path, точно так же, как для обычных модулей.

Python

  1. Освоение типов данных в Python: практическое руководство
  2. Мастерство операторов Python: Полное руководство
  3. Оператор pass в Python: практическое руководство
  4. Аргументы функций в Python: позиционные, именованные и параметры по умолчанию
  5. Словари в Python: создание, манипуляции и продвинутые техники
  6. Итераторы в Python: как они работают и как создать свои
  7. Замыкания в Python: как вложенные функции захватывают переменные
  8. Модуль datetime в Python: практическое руководство по датам, времени и часовым поясам
  9. Освоение Python time.sleep(): лучшие практики, многопоточность и реальные примеры
  10. Обзор Python: высокоуровневый, читаемый, интерактивный и объектно-ориентированный язык