Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в Python 3.3
Что он означает?
Ранее, до 3.3 пакетами считались лишь директории, в которых есть файл __init__.py.
Этот файл одновременно являлся свидетельством того, что директория это Python-пакет, и служил "телом" этого пакета. То есть местом, где можно написать код, как это делается внутри модуля. Этот код исполняется в момент импорта пакета, так что его принято называть "код инициализации пакета".
Начиная с версии 3.3 Любая директория считается пакетом и Python будет пытаться использовать любую директорию для импорта.
Конечно, не любую в файловой системе, а только те что находятся в sys.path.
Это значит, что теперь __init__.py нужно делать только если:
🔸 вам требуется создать код инициализации пакета
🔸 нужна совместимость со старыми версиями Python
На мой взгляд это немного упрощает разработку, делает её чище, но с другой стороны убивает некоторую однозначность происходящего.
Например, я создал репозиторий со своей библиотекой и рядом положил код примеров или тестов.
repo_name/
my_library/
__init__.py
main.py
examples/
exam1.py
exam2.py
В этом репозитории пакетом является только my_library, остальные директории это не пакеты, это просто дополнительный код в файлах. Директория examples не добавлена в sys.path, в ней нет рабочих модулей. Но если она лежит рядом с my_library, то Python вполне сможет импортнуть из неё модули, так как посчитает что examples это валидный пакет.
Конечно, пример несколько надуманный. Никто не будет добавлять корень репозитория в sys.path. Но, я думаю, суть ясна. Иногда директория это просто директория а не пакет!
#basic#pep
Премьер-министр Сербии Джуро Мацут сегодня провел переговоры с новым послом Украины в Белграде Александром Литвиненко
Глава правительства заявил, что Белград с особым вниманием следит за событиями на территории Украины и сложной гуманитарной ситуацией, касающейся гражданского населения.
«Сербия, в пределах своих возможностей, продолжит направлять гуманитарную помощь уязвимому населению в виде финансовых ресурсов, медицинского и электроэнергетического оборудования», – добавил Мацут.
Литвиненко поздравил премьер-министра с прошедшим Днём государственности страны и поблагодарил Сербию за все, что она сделала для украинского народа.
#Beograd#Srbija#Ukrajina
@NewsSerbia
На улице Косовской в Белграде местные жители встали перед экскаватором, пытаясь остановить строительные работы
Дорогу собираются сделать двусторонней, но жители заявляют, что им практически ничего не известно о проекте – нет доступной документации, чёткого плана и оценки последствий его реализации.
По их мнению, улица и без того перегружена транспортом. Они требуют от властей ответы на вопросы о шуме, загрязнении, вырубке деревьев и сокращении парковочных мест.
#Beograd#Kosovska#protest
@NewsSerbia
Дорожная сводка, 31 марта Белград: Дорожные работы и ограничения
• Novi Beograd (Tošin bunar / Dr Žorža Matea): Продолжается полное закрытие участка улицы Dr Žorža Matea до 9 апреля. Также ограничено движение на Tošin bunar (между Pariske komune и Džona Kenedija).
• Autokomanda (M11): Санация опор путепровода. До 24 мая закрыта крайняя правая полоса в сторону Нового Белграда.
• Takovska (Centar): Ремонт дорожного полотна продолжается. Улица частично раскопана, работы продвинулись ко второй фазе в сторону Trg Nikole Pašića.
• Surčin (Trg Zorana Đinđića): Работы на водопроводе и канализации (фазы 1B и 2). Изменен режим движения на центральной площади Сурчина.
⚡️ Отключения.
Сегодня запланированы масштабные отключения электричества, которые могут затронуть работу светофоров:
• Vračar (08:30 – 10:30): ул. Kneginje Zorke и Svetog Save.
• Zemun / Novi Beograd (08:30 – 13:30): улицы Aleksandra Dubčeka, Bulevar Mihajla Pupina (18-24), Džona Kenedija и Palmira Toljatija.
• Zvezdara (09:00 – 13:30): Район улиц Vojvode Bogdana, Zahumska и Ćirila i Metodija.
🚍 Изменения в общественном транспорте
• Автобусы: Маршруты 72, 74, 75, 76, 77, 708 и 72N продолжают ходить в объезд закрытых участков в Новом Белграде.
• Троллейбусы: На линии 40 временно отменена остановка «Glavna pošta» из-за работ в Таковской.
• Трамваи: Маршруты 7L, 9L и 13 всё еще следуют по измененным путям из-за работ на мосту над ул. Antifašističke borbe. Подписывайтесь на @roadgoserbia чтобы быть в курсе событий. #Белград#roadgosrbia#дорогибелград#сербия#beograd
Дорожная сводка, пятница 3 апреля 📅🚗.
🚧 Дорожные работы:
• Tošin bunar: ремонт между Pariske komune и Džona Kenedija вызывает задержки ⏳.
• Autokomanda (M11): закрыта правая полоса к Новому Белграду; пробки со стороны Južni bulevar 🚗🐢.
• Takovska: затруднен проезд у Trg Nikole Pašića. Объезд: Starine Novaka или Ruzveltova 🛣️.
• A1 (Bubanj Potok): ожидается трафик на пункте оплаты. TAG-устройства для грузовиков (IV категория) работают, возможны замедления 🚛.
• Ralja (I B 14): работы на электросетях у перекрестка для Kolare в светлое время ⚡☀️.
🚍 Транспорт:
• Автобусы 72, 75, 76, 77, 708 и A1: объезд на Тошином Бунаре 🔄.
• Трамваи 7L, 9L, 13: измененные схемы из-за работ на путепроводе над ул. Antifašističke borbe 🚋. Подписывайтесь на @roadgoserbia будьте в курсе событий. #дорогибелград#beograd#жизньвсербии#roadgosrbia
⚡️БЕОГРАД — Обдукциони налаз о смрти студенткиње Филозофског факултета показао је да је смрт настала услед повреда приликом пада
Обдукциони записник са токсиколошком анализом показао је да није детектовано присуство лекова или других психоактивних супстанци.
** Више јавно тужилаштво у Београду наставља предистражни поступак поводом смрти и околности под којима је дошло до паљења пиротехничких средстава.
→ Линк: /t.me/borbeni_efektivi
→ Извор: /t.me/borbeni_efektivi
🪖#Beograd〣#FilozofskiFakultet〣#smrt〣#obdukcija〣#povrede〣#toksikologija〣#istraga〣#pirotehnika
🇷🇸https://t.me/borbeni_efektivi