Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
#Elezioni#NuovaZelanda
Oggi si vota in Nuova Zelanda!
Abbiamo creato delle schede in cui potete vedere i partiti principali e dove si posizionano ideologicamente.
🔽
https://tinyurl.com/5n6e7v5s
@OsservatorioEsteri
#Lituania#IndoPacifico
Il governo lituano ha pubblicato il primo documento comprensivo sulla “Strategia lituana per l’Indo-Pacifico” della sua storia.
Tale strategia poggerà su tre pilastri:
•Potenziamento della collaborazione e del dialogo politico con le nazioni dell’Indo-Pacifico, per un miglioramento delle proprie competenze ed esperienze nel contrasto alle minacce ibride e nei settori della difesa e della cybersicurezza.
In tal senso, fondamentale è il riferimento alla #Cina: “La sua attitudine rispetto ai diritti umani e l’ordine internazionale fondato su regole costituisce una minaccia significativa per le democrazie libere ed aperte.”
•Costruire e sviluppare partnerships economiche nei settori del commercio, degli investimenti, della scienza, delle tecnologie e dell’innovazione. Con una particolare attenzione alla diversificazione delle catene di approvvigionamento e della resistenza alla coercizione di natura economica.
Con riguardo a #Taiwan, la Lituania ambisce a consolidare la cooperazione reciproca nell’industria tecnologica, nel rafforzamento delle proprie capacità di difesa e nella promozione della democrazia.
•Soft power, stabilendo piattaforme per un consolidamento delle relazioni people-to-people, per gli scambi nelle aree della scienza, della cultura, dell’educazione e dell’empowerment giovanile e femminile e per una promozione dello status della Lituania come uno Stato democratico e progressista che attragga talenti.
Qui potete trovare il testo completo, comprensivo del disegno relativo alle future relazioni con #Giappone, #NuovaZelanda, #Australia, #CoreadelSud ed #India.
@OsservatorioEsteri
#ProssimeElezioni🗓
Le elezioni che seguiremo prossimamente sono:
🇧🇬#Bulgaria: #parlamentari, il 19 aprile;
🇬🇧🏴#RegnoUnito: parlamentari in #Scozia, il 7 maggio;
🇬🇧🏴 Regno Unito: parlamentari in #Galles, il 7 maggio;
🇨🇻#CapoVerde: parlamentari, il 17 maggio;
🇪🇸#Spagna: #regionali in #Andalusia, il 17 maggio;
🇨🇾#Cipro: parlamentari, il 24 maggio;
🇮🇹#Italia: #comunali, il 24 e il 25 maggio;
🇨🇴#Colombia: #presidenziali, il 31 maggio;
🇦🇲#Armenia: parlamentari, il 7 giugno;
🇮🇸#Islanda: #referendum, il 29 agosto;
🇭🇹#Haiti: presidenziali e parlamentari, il 30 agosto;
🇩🇪#Germania: #statali in #SassoniaAnhalt, il 6 settembre;
🇸🇪#Svezia: parlamentari, il 13 settembre;
🇩🇪 Germania: statali a #Berlino e nel #MeclemburgoPomeraniaAnteriore, il 20 settembre;
🇲🇦#Marocco: parlamentari, il 23 settembre;
🇱🇻#Lettonia: parlamentari, il 3 ottobre;
🇧🇦#BosniaErzegovina: parlamentari e presidenziali, il 4 ottobre;
🇧🇷#Brasile: presidenziali e parlamentari, il 4 ottobre;
🇺🇸#StatiUniti: parlamentari e statali, il 3 novembre;
🇳🇿#NuovaZelanda: parlamentari, il 7 novembre;
🇧🇬 Bulgaria: presidenziali, l'8 novembre;
🇨🇻 Capo Verde: presidenziali, il 15 novembre;
🇦🇺#Australia: statali nel #Victoria, il 28 novembre.
Sono segnate in grassetto le elezioni previste nel corso del mese di aprile.
@TuttoElezioni
#ProssimeElezioni🗓
❗️Calendario aggiornato
Le elezioni che seguiremo prossimamente sono:
🇵🇪#Perù: #presidenziali e #parlamentari, il 12 aprile;
🇭🇺#Ungheria: parlamentari, il 12 aprile;
🇧🇬#Bulgaria: parlamentari, il 19 aprile;
🇬🇧🏴#RegnoUnito: parlamentari in #Scozia, il 7 maggio;
🇬🇧🏴 Regno Unito: parlamentari in #Galles, il 7 maggio;
🇨🇻#CapoVerde: parlamentari, il 17 maggio;
🇪🇸#Spagna: #regionali in #Andalusia, il 17 maggio;
🇨🇾#Cipro: parlamentari, il 24 maggio;
🇮🇹#Italia: #comunali, il 24 e il 25 maggio;
🇨🇴#Colombia: presidenziali, il 31 maggio;
🇦🇲#Armenia: parlamentari, il 7 giugno;
🇮🇸#Islanda: #referendum, il 29 agosto;
🇭🇹#Haiti: presidenziali e parlamentari, il 30 agosto;
🇩🇪#Germania: #statali in #SassoniaAnhalt, il 6 settembre;
🇸🇪#Svezia: parlamentari, il 13 settembre;
🇩🇪 Germania: statali a #Berlino e nel #MeclemburgoPomeraniaAnteriore, il 20 settembre;
🇲🇦#Marocco: parlamentari, il 23 settembre;
🇱🇻#Lettonia: parlamentari, il 3 ottobre;
🇧🇦#BosniaErzegovina: parlamentari e presidenziali, il 4 ottobre;
🇧🇷#Brasile: presidenziali e parlamentari, il 4 ottobre;
🇳🇿#NuovaZelanda: parlamentari, il 7 novembre;
🇺🇸#StatiUniti: #parlamentari e #statali, il 3 novembre;
🇧🇬 Bulgaria: presidenziali, l'8 novembre;
🇨🇻 Capo Verde: presidenziali, il 15 novembre;
🇦🇺#Australia: statali nel #Victoria, il 28 novembre.
Sono segnate in grassetto le elezioni previste nel corso del mese di aprile.
@TuttoElezioni