Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
# БЛЕСК ДЛЯ ГУБ💋
Мало кто знает, что блеск для губ появился благодаря... кинематографу! В начале 1930-х годов визажист Макс Фактор искал способ сделать губы актрис более выразительными на чёрно-белой плёнке.❤️ Румяна и помада снимались тускло, а вот глянцевое сияние сразу притягивало взгляд зрителя. Так в 1932 году на свет появился первый блеск для губ — и мгновенно стал частью культового голливудского 📸 макияжа.
Со временем блеск шагнул за пределы киностудий, и его полюбили все — от тинейджеров до звезд. Сначала он был исключительно прозрачным, но с годами палитра расширилась до самых неожиданных оттенков и текстур: с шиммером, с витамином E, с блёстками и даже с ароматами!
Сегодня блеск для губ — это не просто средство для макияжа, а символ стиля, свободы и экспериментов. Достаточно одного штриха — и вы уже в центре внимания! 🐱
А вы помните свой первый блеск? Какой он был?
Попробуй блески от SODA и сияй каждый день ⭐️
• GLITTER LIPGLOSS #wegotyoubabe 101
• CHU ME A FAVOUR #bittersweetkiss 203 "love triangle"
• Down To Business #softdivalution
#sodalovespopculture
Кто проходит “Цветок из огня Тиамат”? 😼 Сегодня делимся нашим вариантом макияжа Су, мага воды 🌊
Образ строится на контрасте теплой базы и прохладных акцентов. Поэтому для основы идеально подойдет палетка для лица Coffee magic № 002 с ее теплыми оттенками, а глаза подчеркнут мягкие, но глубокие оттенки палетки Part of your world 🪸🧜♀️
Для холодных акцентов мы возьмем жидкую подводку #showyourself “Snow flake” ❄️ и добавим искристости с помощью блеска для губ #wegotyoubabe 106 Siren song — он напоминает сияние воды в лунном свете... 🌙 А если хочется чего-то совсем волшебного, то можно взять бальзам для губ в виде кристалла #mermaidlips и парфюмированный шиммер-мист для тела ✨😉
#sodalovesgames
Романтики, кто играл в "По тонкому льду"? Сегодня воссоздаем макияж Кэтрин ⛸ Наша героиня — фигуристка, а значит ее макияж для выступлений будет заметным. Сияющий смоки и никаких нюдов! 🍒
Начнем с драматичного макияжа глаз 😼 Глубокие синие и фиолетовые оттенки возьмем из палетки теней Some things never change #showyourself (как и шиммеры тех же оттенков), а глаза подведем карандашом #eyeloveunicorns в оттенке 001 Black heart ❤
Добавим звездного сияния с помощью глиттер-геля для лица и тела #bizarreshine, в оттенке 002 Leo 🪄 Его можно нанести не только в уголки глаз, но и на ключицы ✨
На картинке у Кэтрин явно сделан контуринг. Его нам поможет создать палетка для лица Coffee magic 001 #coffeetime☕ А завершим образ ярким, но неброским блеском для губ #wegotyoubabe в оттенке 006 Nudie Cutie 🌸
#sodalovesgames
Кто проходил "Дракула. История любви"? 🧛🏻♂️Лайя это любовь, поэтому сегодня — наша версия ее образа🪄🩹
Лайя — человек, который видит красоту во всём. Не зря же она художница-реставратор! Поэтому для ее образа мы подобрали качественную базу, которая сможет подчеркнуть ее естественную красоту и придать нежное сияние 🌙
Для ровного, здорового тона возьмем тональную основу #mermaids, а свежий румянец придадим сияющими прессованными румянами #crazycrush в оттенке 003 Ripe apricot 🍑 (точно в тон ее теплой кожи!). С нежным и тоже теплым сиянием нам поможет хайлайтер Holding on tight to you #showyourself☀️
Мы остановились на двух средствах для губ, так что окончательный выбор будет за тобой! Тинт для губ #exploretheocean — для естественного, но более яркого финиша 🍉, и блеск для губ #wegotyoubabe в оттенке 102 Diamond sugar — он понравится тем, кто обожает глиттер и сияние бриллиантов 💎
А что выберете вы? 👀
#sodalovesgames
Романтики, вы попросили и мы сделали — наша версия макияжа Агаты из истории "Я охочусь на тебя" 💘
Мы решили разобрать один из самых красивых образов Агаты с очень нежным макияжем 🌸 Для макияжа глаз нам в первую очередь понадобится палетка Sugoi #mangaeyes: в ней есть нужные нам оттенки голубого, а еще черные тени, которыми мы нарисуем стрелки (чтобы они были более мягкие и не перетягивали на себя внимание).
В уголки глаз и на нижнее веко нанесем жидкие тени #eyeloveyou в оттенке 002 Fairy glow 💜 — оттенки голубого и светло-лавандовый создадут более многослойный, интересный оттенок и подчеркнут красивые зеленые глаза Агаты ⭐ Пройдемся тонким слоем румян #crazycrush в оттенке 001 You're awesome для естественного румянца. Главное не переборщить!
Добавим сияния блеском для губ #wegotyoubabe в самом блестящем оттенке 102 Diamond sugar 💎 И последний шаг, но точно не по важности, это нанесение мерцающего фиксирующего спрея для макияжа #fixit✨ Во-первых, он сделает так, чтобы эта красота продержалась как можно дольше. А во-вторых, добавит волшебного мерцания ❤
Бонус: спрей можно нанести еще и на ключицы и плечи ⭐
Пишите, чьи образы из клуба романтиков вы хотите разобрать (все образы можно найти по тэгу) 👻
#sodalovesgames