Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
🌿The Garden Route — one of South Africa’s most breathtaking road trips!
This scenic drive stretches along the southern coast, connecting Mossel Bay and Storms River.
Although the official route is just about 180 km (110 miles), many travelers start in Cape Town and continue all the way to Port Elizabeth — nearly 800 km (500 miles) of pure beauty and adventure.
🚗 Along the way, the landscape keeps changing like a movie scene:
ocean cliffs, lush forests, lagoons, golden beaches, and a gentle coastal climate.
🌲 In Tsitsikamma National Park, you’ll find one of Africa’s oldest trees — more than 800 years old!
🐳 From June to November, whales migrate along the coast — an unforgettable sight worth pulling over for.
🌿 The Garden Route isn’t just a drive — it’s a journey through the heart of South Africa, filled with nature, ocean views, adventure, and freedom.
📸 Photos: https://africageographic.com/stories/the-garden-route-south-africas-ultimate-road-trip/
#GardenRoute#SouthAfrica#Travel#Nature
📍INDALU GAME RESERVE
Активности: прогулка и общение со слонами, сафари, проживание. Здесь нет хищников, но все равно интересно. Подробности и цены на сайте.
#активности#mosselbay#дорогасадов#gardenroute
📍ФЕРМА Wilgewandel.
Список активностей довольно обширный: прогулка на верблюдах, зиплайн, паровозик, водяные горки, контактный зоопарк, картинг, минигольф, прогулка в повозке с осликами, тир, педальные машинки, батут, лодки, хайкинг.
В общем, воображение наше разыгралось. По факту территория фермы небольшая и все довольно скромное, в фермерском стиле. Моим 9 и 13-леткам было интересно. 19-летке уже нет. Хотя, я видела и взрослых на активностях. Так что, как говорится, depends.
Подробности и локацию можно посмотреть на их сайте.
Фото и видео чтобы вы прониклись атмосферой 😃. Стейк, кстати, страусиный. От мяса я не в восторге - жесткое и волокнистое. Но потребность по белку на сегодня закрыла 👌
#gardenroute#дорогасадов#mosselbay#активности
🌿Дорога Садов, или Гарден-Рут (Garden Route) — одно из самых живописных путешествий по ЮАР!
Этот маршрут тянется вдоль южного побережья, соединяя города Моссел-Бей и Стормс-Ривер.
Хотя официально это всего 180 км, многие путешественники начинают путь прямо из Кейптауна и едут до Порт-Элизабет — почти 800 км красоты и вдохновения.
🚗 По дороге — смена пейзажей, как в кино:
океанские утёсы, зелёные леса, лагуны, песчаные пляжи и мягкий морской климат.
🌲 В Национальном парке Цицикамма растёт одно из древнейших деревьев континента — ему более 800 лет!
🐳 А с июня по ноябрь вдоль побережья можно увидеть мигрирующих китов — величественное зрелище, ради которого стоит свернуть с дороги.
🌿 Дорога Садов — не просто маршрут, а настоящее приключение!
📸 Фото: https://africageographic.com/stories/the-garden-route-south-africas-ultimate-road-trip/
#ДорогаСадов#GardenRoute#ЮАР#Путешествия#Природа#ЮжнаяАфрика
Mossel Bay — a vibrant coastal town on South Africa’s Garden Route, located about 400 km east of Cape Town — is a compact adventure hub offering everything from relaxed sunset walks to high-adrenaline ocean thrills. 🌊🦈✨
Here are the top things to do in Mossel Bay:
1. Speed Boat & Tubing — Perfect for adrenaline lovers. Ride the waves on a tube or speed boat and feel the ocean power beneath you. 🚤
2. Surfing at Santos Beach — Learn the basics and catch your first waves at one of the area’s most iconic beaches. 🏄♂️
3. Skydiving / Tandem Skydiving — Experience a 10,000-ft free fall with breathtaking views of beaches and valleys. 🪂
4. Sandboarding — Glide down coastal dunes or join a 4x4 dune trip designed for thrill-seekers. 🏜
5. Pinnacle Point Golf — An 18-hole championship course overlooking the Indian Ocean. A paradise for golfers. ⛳️
6. Shark Cage Diving — Get up close with the legendary Great White Shark — safely, of course! 🦈
7. Dias Museum Complex — The second-largest provincial museum, dedicated to the history of exploration and the journey of Bartolomeu Dias. 🏛️
📹 Video: https://www.youtube.com/watch?v=HwlsknWmdfM
#SouthAfrica#GardenRoute#MosselBay#TravelSouthAfrica#AdventureTravel#BeachHoliday#ExploreSA