Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
В процессе работы с Python нередко возникает необходимость структурировать код, разбив его на несколько файлов или даже целых директорий. В таких случаях на помощь приходят пакеты. Пакет в Python — это способ организации пространства имен, позволяющий объединять несколько модулей в единую структуру.
Рассмотрим пример. Предположим, есть проект, который включает в себя множество модулей, связанных с обработкой изображений. Все эти модули логично было бы поместить в одну директорию, назвав ее, например, image_processing
. Предположим, что внутри этой директории есть несколько файлов с кодом: resize.py
, rotate.py
, crop.py
. Если бы хотелось использовать функции из этих файлов в другом месте проекта, было бы удобно импортировать их как image_processing.resize
, image_processing.rotate
и image_processing.crop
.
Чтобы позволить Python распознать директорию как пакет, в ней должен быть файл с названием __init__.py
. Этот файл может быть пустым, или содержать код инициализации пакета. Он выполняется при импорте любого модуля из пакета.
Таким образом, файл __init__.py
выполняет две основные функции:
-
Инициализация пакета. Код, который нужно выполнить при импортировании модулей из пакета, можно поместить в
__init__.py
. -
Определение пакета. Наличие
__init__.py
говорит Python, что директория является пакетом, даже если он пуст.
Стоит заметить, что начиная с Python 3.3 введена концепция «namespace packages», которые не требуют наличия файла __init__.py
. Однако, использование __init__.py
все еще является хорошей практикой, позволяет явно указать, что директория является пакетом, и предоставляет место для кода инициализации пакета.
На курсе Skypro «Python-разработчик» освоите основные инструменты программирования, получите опыт на реальных проектах и сможете стартовать в профессии уверенным новичком. Преподаватели — практикующие программисты с большим опытом, а в центре карьеры помогут составить цепляющее резюме и подготовиться к собеседованию.
Добавить комментарий