Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
В #Furla распродажа
-30% от указанной цены 🛍️
Furla Primavera
Furla Diamanté
Furla Metropolis
Furla Primula
Больше сумок бренда смотрите по хэштегу — #Furla
В акции участвуют не только эти позиции
Оформить заказ: @zakaz_k2u
Все утро любуюсь 🤍
Миниатюрная и очень вместительная цумочка #Furla с ремешком в комплекте
В наличии также в карамельном, бирюзовом, красном, салатовом, оливковом, серо-голубом, лавандовом и черном ❤️
Приехала карамелька🤎Tote #Furla для моей покупательницы 🥰
Завтра уже поедет в Москву (одна только коробка чего стоит)
Это коллекция 23 года со скидкой -40% из аутлета) в наличии Afrodite в разных цветах
Сумка идеальных размеров - не выглядит как чемодан и при этом в нее влезет вся моя жизнь
От 22500₽
На ночь глядя #сравнитецену
Я чуть сама не купила эту сумку в Москве пол года назад.
Понравился принт, форма и очень крутое качество, но модель не новая, поэтому в аутлете идет по скидке)
Кстати хз почему ЦУМ обозвали ее Charlie, модель называется Charlotte
Ну почти 😂
Короче, надо брать!
#Furla
Такое ни один байер со своими старомодными сумками в пузырчатый ромбик не покажет
Ещё раз посмотрите на сами вещи и финальную цену на этикетках.
Как говорит мой суженный «грех не купить»
Я серчила рынок и могу сказать точно - 80% байерских услуг в телеге выставляют самую верхнюю цену (просто потому что даже это дешевле чем в РФ ахаха)
А если вещь выглядит как из коллекции 10летней давности - девчонки, максимал 2 кэса ₽, отвечаю
Вас обманывают, если продают такую вещь дороже)
Может я сейчас весь байерский телеграмм рынок рушу, но просто знайте:
#Moschino, #MichaelKors, #Furla, #Pinko, #CalvinKlein, #Diesel, #Levi’s, #Coccinelle, #LIUJO, #Falconeri, #Blumarine, #ArmaniExchange, #Fabi, #VersaceJeans, #Sandro, #Twinset - это все на скидках продается по ооочень выгодным ценам.
Но надо знать где искать.
That’s why here I am 🙃
1. Я выставляю только то, что купила бы сама или посоветовала подругам
2. Пишу самую нижнюю стоимость с этикетки)
3. Оцените модель от 1 до 10))
#сравнитецену