Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
Sul nostro profilo Instagram abbiamo pubblicato alcuni dei "derby" più interessanti tra i candidati all'Europarlamento. Quale risultato vi stupisce di più?
#maratonaYoutrend
🤺https://www.instagram.com/p/C8CCuZ3Cye7
Tra gli under 30, secondo il nostro Instant poll per Sky TG24, si contendono il primo posto i tre partiti del "campo largo", con il PD davanti al 18%, e a seguire M5S (17%) e AVS (16%). Fratelli d'Italia si ferma al 14%.
#maratonaYoutrend
🔴 Elezioni in Grecia
Secondo gli Exit Poll per la tv pubblica ERT News, il partito di centrodestra Nea Demokratia del premier uscente Mitsotakis supera le aspettative della vigilia, staccando Syriza (SX) di 11 punti percentuali. Potrebbe comunque non bastare per formare un governo, vista la nuova legge elettorale proporzionale con soglia di sbarramento al 3%.
Nea Democratia (CDX) 36-40% - 121-125 seggi
Syriza (SX) 25-29% - 86-89 seggi
Pasok (CSX) 9,5-12,5% - 35-36 seggi
KKE (SX) 6-8% - 22-23 seggi
EL (CDX) 3,5-5,5% - 15 seggi
MeRa25 (SX) 2,5-4,5% - 11-12 seggi
Plefsi Eleftherias (SX) 2,2-4,2% - 0-10 seggi
Altri 4,8-6,8%
Segui la nostra #MaratonaYoutrend su Twitter: https://twitter.com/you_trend/
EDIT: Alle 22:15 con il 90% dei voti scrutinati è netta la vittoria di Nea Demokratia, del premier uscente di centrodestra Mitsotakis.
Qui il nostro riepilogo:
https://twitter.com/you_trend/status/1660378693582086144
Una tabella riassuntiva dei seggi finora stimati per il prossimo Parlamento e la rappresentazione in grafica della maggioranza del Centrodestra negli emicicli di Camera e Senato!
#MaratonaYouTrend
La mappa della variazione dell'affluenza per comune alle 19 rispetto alle elezioni politiche del 2018 e le europee del 2019.
👉 Segui la #MaratonaYouTrend anche su Twitter: https://twitter.com/you_trend
🇺🇸USA: domani notte #MaratonaYouTrend sui due ballottaggi in Georgia!
➡️ Tutto quello che c'è da sapere su queste sfide decisive per gli equilibri del nuovo Senato lo trovate in questo articolo:
https://www.youtrend.it/2021/01/04/usa-2020-dalla-georgia-passa-il-controllo-del-senato/