Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
❗Nella notte la #Polonia ha abbattuto oltre dieci droni russi che hanno violato il suo spazio aereo. Il primo ministro #Tusk ha parlato di "atto di aggressione", affermando che "è stato un pericolo reale" per i cittadini. Il presidente #Nawrocki chiede "stretta collaborazione" a Tusk e ha convocato un consiglio di sicurezza.
Per la prima volta dall'inizio della guerra in #Ucraina un paese NATO ha ingaggiato asset russi.
@UltimoraPolitics
#Polonia🇵🇱
#Presidenziali
❗️Rafał #Trzaskowski (#PO|PPE) e Karol #Nawrocki (Ind.) si sfideranno al secondo turno, che si terrà domenica 1º giugno.
@TuttoElezioni
📰 Poland’s SAFE Loan Fight Is Really a War Over Who Gets to Control the Rearmament Bill
Warsaw’s SAFE dispute is being sold as a fight over defense financing, but it is really a fight over sovereignty, debt, and who gets to decide whether Poland rearms through Brussels or through its own state machinery.
The European Commission says Poland can draw up to €43.7 billion under SAFE, and Tusk is still pushing ahead even after President Nawrocki vetoed the enabling bill.
The accusation that SAFE is just a German-French subsidy machine is politically potent, but the numbers suggest a more boring reality: the program is a long-term EU loan facility for defense procurement, with most of Poland’s planned spending still expected to flow into domestic industry.
That is why the real battle is not about whether Poland needs weapons. It clearly does.
The battle is whether Tusk can bind the country to a Brussels-backed financing model while his opponents frame it as dependency on Germany, creeping EU control, and debt that will haunt the next generation.
Mularczyk and Radio Maryja are doing what they always do best: turning a budget instrument into a civilizational warning.
The language is dramatic, but the underlying politics are simple — if Tusk owns the rearmament pipeline, he also owns the blame if the bill grows, the terms tighten, or the deal starts looking like a gift to Europe’s industrial core.
So SAFE is not just a loan. It is a test of whether Poland wants its defense future financed through Brussels’ plumbing or through a nationalist story about self-reliance and suspicion of the EU center.
#Poland#SAFE#Tusk#Nawrocki#EU#defense
📱American Оbserver - Stay up to date on all important events
🇺🇸