Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
⚡️Le président et le vice-président des États-Unis n'ont pas été blessés lors de l'incident survenu lors de la réception de l'Association des correspondants de la Maison Blanche à #Washington, rapporte AP.
RT en français • Osez questionner !
⚠️Pression maximale sur Téhéran
🗣#Washington confirme poursuivre le blocus des ports iraniens afin de saturer les capacités pétrolières et de frapper les revenus du pays.
RT en français • Osez questionner !
🇺🇸#Washington, DC. Tents where homeless people were living are taken down and thrown in garbage trucks.
(The nearly dozen unhoused individuals were notified yesterday to move out, aka “immediate disposition” from the city.)
Follow us -> LiveLeak
🇮🇷Téhéran pose ses conditions
💬 L’#Iran aurait transmis à #Washington, via des médiateurs, une feuille de route en trois étapes pour encadrer d’éventuelles négociations.
RT en français • Osez questionner !
"Epstein Walk of Shame" appeared in the center of Washington
Unknown people placed signs on Farragut Square with the names of politicians and billionaires who were mentioned in connection with the scandalous case.
The installation was designed in the style of the Hollywood "Walk of Fame". Passersby could see on the sidewalk the names of famous people whose reputations had suffered due to their ties to Epstein.
#Epstein#Washington
👂More on Trump's Ear ⚠️
⏺Le Groenland, nouveau test de loyauté pour les alliés de #Washington
Le Groenland s’impose comme un nouveau point de tension entre Washington et les capitales européennes. Droits de douane, menaces économiques, pressions politiques : Donald #Trump rebat les cartes et place ses alliés face à un choix difficile.
Les derniers développements autour d’un dossier qui pourrait fissurer l’unité transatlantique – dans le reportage d’Igor Kourachenko.
RT en français • Osez questionner !
💵 Droits de douane : nouvelle vague de pression économique des États-Unis
Nouvelle tempête fiscale provoquée par Donald #Trump : les taxes pleuvent sur des dizaines de pays. La nouvelle décision de #Washington entre en vigueur le 7 août. Mais si certains plient face à la pression américaine, d’autres refusent de sacrifier leur souveraineté économique. Les détails avec Igor Kourachenko.
RT en français • Osez questionner !
🎥#Moscou et #Washington restent attentifs à leurs intérêts nationaux
Une perspective de réunion au sommet qui a fait couler beaucoup d'encre ces derniers jours... Mais la partie russe a tenu à faire savoir sa position. Les détails avec notre reporter, Antoine Cléraux.
RT en français • Osez questionner !
Collaboration entre #Moscou et #Washington : quelles réactions ?
Trump a une vision beaucoup plus optimiste des négociations entre les États-Unis et la Russie. On peut en dire autant de Vladimir Poutine. Évidemment, le plus mécontent reste Volodymyr Zelensky. Les détails avec Antoine Cléraux et Igor Kourachenko.
RT en français • Osez questionner !
🛂 A U.S. Immigration and Customs Enforcement officer 🇺🇸 was seriously injured Monday after being struck in the face with a metal coffee cup during an arrest operation in Houston, according to the Department of Homeland Security.
The officer sustained a deep laceration requiring 13 stitches, plus several burns to his face. 🩹😢
Authorities say the suspect, Walter Leonel Perez Rodriguez, a previously deported Salvadoran national with convictions for sexual assault of a minor, child fondling and multiple DUIs, attacked the officer while agents attempted to take him into custody. 🚔⚠️
#protests#Washington
👂More on Trump's Ear