Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
Ik geloof dat alleen een grote oorlog, een handelsoorlog of een langdurige economische recessie ertoe zou leiden dat Europa en de Verenigde Staten hun militaire uitgaven uit balans zouden brengen, en dat zou het moment zijn waarop Israëls macht zou verzwakken. De bevrijding van Palestina verwijst naar het antikolonialisme en de onlangs onafhankelijk geworden landen in Azië, Afrika en Latijns-Amerika na de Tweede Wereldoorlog. Na de Tweede Wereldoorlog waren Europese landen ook bezig met de wederopbouw en verzwakte hun overzeese koloniale invloed.
#Palestine
前線的民眾及武裝
感謝: 也門 黎巴嫩 伊朗
沒有: 遜尼派國家及組織, 因為所有遜尼派國家不是以色列同盟就是投降給以色列。
(緊記: 加薩/巴勒斯坦組織是遜尼派, 但是只有什葉派國家及組織會付出人命和軍事支援他們)
https://t.me/NEWWORLDORDYR/29301?single
Er zijn geen soennitische landen en organisaties omdat alle soennitische landen bondgenoten van Israël zijn of zich aan Israël hebben overgegeven.
(De bovenstaande opmerkingen hebben geen betrekking op soennitische mensen, maar zijn alleen gericht op de elites van de soennitische samenleving)
#Palestine
Hamas en de Palestijnse Autoriteit veroordelen de opmerkingen van Trump dat hij wil dat Egypte en Jordanië Palestijnen uit Gaza accepteren .
哈馬斯和(西岸)巴勒斯坦權力機構譴責特朗普希望埃及和約旦接受來自加薩的巴勒斯坦人的言論。
#Palestine
🇵🇸#Palestine: Gaza's Radaa resistance forces, also known as the "Deterrent Forces", have ambushed a group of Israeli-backed militias in Khan Yunis, Gaza, using an IED.
The ambush and the footage are dated April 29th.
🇵🇸#Palestine: Footage showing Hezbollah militants targeting IDF positions in the Northern District of Palestine using a Grad MLRS rocket system two days ago.
(via @conflictarchive)
🇵🇸#Palestine: A 14-year-old Palestinian boy, Jad Jadallah, was shot and killed at close range by Israeli troops during a raid in al-Far'a refugee camp in the occupied West Bank last November.
Footage shows one of the soldiers shooting at the boy multiple times before leaving him bleeding on the ground, as the IDF blocked ambulances from reaching him for over 40 minutes. The 14 troops present then casually remained around him as he bled to death.
Eyewitness accounts and verified BBC footage show a soldier placing a rock next to Jad after he was shot in an attempt to stage evidence for the murder, even as the boy raised his hands pleading for help. An IDF spokesman claimed he threw a rock, but video evidence completely contradicts this. Despite claims of providing "initial aid," footage shows the troops offered no assistance.
After the shooting, Israeli troops have refused to provide aid and have never released any details on the killing. Israel has also refused to return the body.
Mojo, a popular drink brand in Bangladesh, updates its packaging to show the company’s support for #Palestine amid the ongoing Israeli genocide campaign in Gaza.
https://t.me/YediotNewsChat
🇵🇸#Palestine: A gold shop was allegedly robbed in Hebron, West Bank, by thieves disguised as IDF soldiers. The suspects were armed with IDF-issued carbines, including the M4 and Menusar.
(📹 via @war_noir)