TGViewer
Python Lounge: работа и стажировки для программистов Python Lounge: работа и стажировки для программистов @python_lounge · 3.72K subscribers
Post #1008 1.46K
Python packages

Предположим, вы разрабатываете большое приложение, которое включает в себя множество модулей. Очевидно, что складывать всё в одну папку не просто неудобно, а в некоторых случаях даже нерационально. Создадим для примера модуль main.py и рядом с ним пакет с модулями (папку с файлами) примерно в таком виде:

├── main.py
└── package
  ├── __init__.py
  ├── module1.py
  └── module2.py

Модуль __init__.py нужен для инициализации пакета, а также он вызывается при импорте пакета или модулей из него. Тем не менее, __init__.py может был пустым, достаточно его присутствия. Простыми словами, такой модуль нужен для того, работать с папкой как с Python-пакетом.

В main.py мы уже можем импортировать пакет и модули примерно такими способами:

import package
from package import module1
import package.module2 as m2

Предположим, что у нас есть уже какие-то функции в module1.py и module2.py. Теперь давайте напишем кое-что в __init__.py для примера:

from .module1 import function1
from . import module2 as m2

variable = 'hello from __init__.py'

Точка указывает на то, что мы импортируем модули из этого же пакета, а не откуда-то еще. Если указать без точки или просто import module2, то возникнет исключение.

Теперь в main.py мы можем выполнить следующие команды:

from package import function1
from package import m2
from package import variable

Возможности пакетов и модулей в Python этим не ограничиваются, но для вступления и ознакомления этой информации должно хватить.
More from @python_lounge
  1. Jul 27, 2026Промпт-инженер для AI-фото в Onephoto Опыт с нейросетями не обязателен, важнее насмотренно…
  2. Jul 23, 2026Представитель в Т-Банк Отклик в 1 клик Идеальный вариант подработки/работы! Среднее вознаг…
  3. Jul 15, 2026Менеджер по продажам Мы занимаемся профессиональным рекрутингом для Министерства обороны Р…
  4. Jul 9, 2026Media Buyer / Performance Marketer (Meta* Ads) — eCommerce / Digital Products Мы — MotionP…
  5. May 26, 2026Специалист техподдержки в Mailganer Мы развиваем кросс-канальную платформу рассылок для ИТ…
  6. May 6, 2026Мы ищем Project / Product Manager’а, который способен взять проект целиком: от структуры и…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →