Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
Hırvatistan’dan gelen kursiyerlerimiz, Keşan’daki Baykar Uçuş Eğitim Merkezi’nde düzenlenen #BayraktarTB2 SİHA eğitimini başarıyla tamamlayarak mezun oldu.
Mezun olan kursiyerlerimizi tebrik ederiz. 🇹🇷🤝🇭🇷
Trainees from Croatia have successfully completed their #BayraktarTB2 UCAV training at the Baykar Flight Training Center in Keşan.
We congratulate our newly graduated trainees. 🇹🇷🤝🇭🇷
https://sosyal.teknofest.app/@baykartech/114993655653054300
Jandarma'nın Yanında, Gökyüzünde 10 Bin Saat! 🇹🇷✈️
Jandarma Genel Komutanlığı envanterinde 10.000 saat boyunca görev yapan J11 (S18) kuyruk numaralı #BayraktarTB2 SİHA’mız emekliye ayrıldı. Terörle mücadeleden sınır güvenliğine, emniyet ve asayişten stratejik altyapıların korunmasına kadar kritik görevlerde gökyüzündeydi.
J60 kuyruk numaralı yeni bir #BayraktarTB2 SİHA'yı Jandarma Genel Komutanlığımıza hediye ettik.
10,000 Hours in the Skies, Serving the Gendarmerie 🇹🇷✈️
The #BayraktarTB2 UCAV with tail number J11 (S18) has been retired after successfully completing 10,000 flight hours in the inventory of the Gendarmerie General Command. From counterterrorism to border security, law enforcement to the protection of strategic infrastructure, it played a vital role in critical missions.
As part of our continued support, we have donated a new #BayraktarTB2 with tail number J60 to the Gendarmerie.
Yılmadan, yorulmadan göklerde 1️⃣.0️⃣0️⃣0️⃣.0️⃣0️⃣0️⃣ saat! 🇹🇷
Tirelessly soaring through the skies for 1️⃣.0️⃣0️⃣0️⃣.0️⃣0️⃣0️⃣ hours! 🇹🇷
#BayraktarTB2✈️🚀
▶️HD Video
Milli Kanatlar Hırvatistan Semalarında! ✈️
Baykar ile Hırvatistan Savunma Bakanlığı arasında #BayraktarTB2 SİHA ihracatını kapsayan tarihi anlaşma Zagreb’de imzalandı. 🇹🇷🇭🇷
Bu anlaşma ile #BayraktarTB2, NATO ve Avrupa Birliği üyesi bir ülkenin daha envanterine girdi.
Hayırlı olsun.
Our Indigenous Wings in the Croatian Skies! ✈️
A historic agreement between Baykar and the Croatian Ministry of Defense for the export of #BayraktarTB2 UCAV was signed in Zagreb. 🇹🇷🇭🇷
With this agreement, #BayraktarTB2 has entered the defense inventory of yet another NATO and EU member state.
Polonya #BayraktarTB2 Sistemi Lojistik Destek Sözleşmesi kapsamında NSPA Genel Direktörü ve Polonya Savunma Bakanlığı temsilcilerinin katılımıyla Özdemir Bayraktar Milli Teknoloji Merkezimizde imza töreni gerçekleştirdik.
🇹🇷🤝🇵🇱
As part of the Poland Bayraktar TB2 System Logistics Support Contract, we held a signing ceremony at the Özdemir Bayraktar National Technology Center with the participation of the NSPA Director General, their accompanying delegation, and representatives from the Polish Ministry of Defense.
10.000 saatlik uçuş süresi ile ömür devrini tamamlayan, TSK envanterindeki S5 kuyruk numaralı #BayraktarTB2 İHA'mız vatani görevini hakkıyla yerine getirdi! 🇹🇷✈️
The Bayraktar TB2 UAV, with tail number S5, which was part of the Turkish military's inventory, has completed its service life after 10,000 flight hours, fulfilling its duty to the nation with distinction! 🇹🇷✈️
▶️HD Video
Dost ve kardeş ülke Kenya’dan gelen kursiyerlerimiz, Keşan’daki Baykar Uçuş Eğitim Merkezi'nde #BayraktarTB2 SİHA eğitimini başarıyla tamamlayarak mezun oldu.
Mezun olan kursiyerlerimizi tebrik ederiz.🇹🇷🤝🇰🇪
Trainees from our friendly and brotherly country, Kenya, have successfully completed their #BayraktarTB2 UCAV training at the Baykar Flight Training Center in Keşan and graduated. ✈️
We congratulate our newly graduated trainees.🇹🇷🤝🇰🇪