Подразумеваемые неймспейсы или неявные пакеты.
Этот функционал добавлен в 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
Dikmen Gürün & Erdal Birkan — Turkish Folktales (Folkways Records, 1965)
#fairytale#Turkey
В 1964 году Дикмен Гюрюн и Эрдал Биркан записали для Folkways Records две турецкие народные сказки.
Первая сказка называется «Золотой подсвешник». Это вариация на классический сюжет о Золушке (510A в каталоге сказочных сюжетов Аарне–Томпсона–Утера). Однако в этой версии отец героини решает жениться не на ком-нибудь, а на собственной дочери. Не желая принять участие в кровосмесительной связи, девушка прячется в золотом подсвешнике. После недолгих поисков отец раскаивается в грешном желании и становится дервишем, а подсвешник попадает к сыну падишаха, который влюбляется в девушку и женится на ней. Попутно шехзаде поджаривает на вертеле свою двоюродную сестру, мешавшую влюблённым.
Вторая сказка — «Безумный Мехмет и три священника» — вариация на более редкий сюжет «Три утонувших горбуна» (1536B в том же каталоге). В классической версии хозяйка таверны случайно убивает трёх горбатых братьев. Чтобы скрыть убийство, она нанимает пьяницу сбросить первое тело в реку. Пока тот ходит, она выкладывает у двери второе и третье тело. Пьяница решает, что мертвец всё время возвращается, и каждый раз по новой его топит. В конце концов пьяница встречает на улице горбатого мужа хозяйки — и тоже отправляет его к праотцам.
Сюжет «Безумного Мехмета» отличается тем, что вместо горбунов — христианские священники, которые часто становились предметом шуток в османских сказках; вместо хозяйки — купец, к чьей жене они приставали; а вместо четвёртого горбуна, по всему видимому, сам Ходжа Насреддин. Ходжа Насреддин, конечно, к священникам отношения не имеет, но какая восточная шуточная сказка без него?
🔗Spotify | AppleMusic | Telegram
Татарские сказки об Убырлы Карчык: Две стороны одной сущности
Друзья, мы рады поделиться с вами записью татарских сказок об Убырлы Карчык — загадочном персонаже татарской мифологии, который может быть как зловещим, так и справедливым.
📖В первой сказке Убырлы Карчык предстаёт перед нами как классический отрицательный герой, чей образ связан с тёмными силами, и победа над ней становится испытанием для главных героев.
✨Во второй сказке всё иначе: Убырлы Карчык помогает восстановить справедливость, наказывая жадных и жестоких, а добрых и честных вознаграждая. Здесь она — не просто злой дух, а могущественная сила, балансирующая между мирами.
Почему мы выбрали именно эти сказки? Чтобы показать, насколько многогранна татарская мифология! Один и тот же персонаж может быть и воплощением зла, и инструментом правды — всё зависит от контекста и морали истории.
📜Тексты сказок приведены по сборнику«Татар халык әкиятләре» (составители: Замалетдинов, Салахов, Татарстан китап нәшрияты, 2021). При переводе на русский и английский пришлось поломать голову над передачей культурных реалий — но мы постарались сохранить дух оригинала!
🎧 Уже в эфире Apple Podcasts — следите за обновлениями!
#сказка#әкият#fairytale#УбырлыКарчык
🔮 Сказка "Шурале" Габдуллы Тукая
Наш великий поэт создал удивительно поэтичную версию народной сказки о лесном духе Шурале, который пугает путников в дремучих лесах. В этом произведении смекалка побеждает злые чары, а народная мудрость оживает в ярких образах.
Предлагаем вам послушать сказку на трёх языках: оригинал на татарском, в переводе на русский (Равиль Бухараев), в переводе на английский (Ляля Гильманова).
🎧 Погружайтесь в мир татарского фольклора и литературы!
Слушать на Podcasts
#сказка#fairytale#әкият#Шурале
Помните Бичуру? Иногда она помогает… но не в этой сказке! Героине этой коротенькой сказки пришлось проявить смекалку, чтобы перехитрить своенравную Бичуру.
Как ей удалось это сделать? Слушайте в новой сказке!
#сказка#fairytale#әкият#Бичура
🔍Навигация по каналу
Нас стало больше, как и материала. Для удобства добавили навигацию.
Здесь мы:
🟢 Рассказываем о проекте и нашей команде: #знакомство
🟢 Знакомим с персонажами татарской мифологии: #персонажи
#СуАнасы#Бичура#УбырлыКарчык#Убыр#Тенгри#Шурале#Киреметь#Зухра#Албасты#ЙортИясе#УрманИясе#Зилант#Аждаха#Ия#Юха#АкЕлан#КараЕлан#Тулпар#Аргамак#АкБүре
🟢 Записываем подкасты на татарском, русском и английских языках: #подкаст#podcast
🟢 Рассказываем сказки на 3х языках: #әкият#сказка#fairytale
🟢 Разбираем интересную лексику: #сүзлек#vocab#словарь
🟢 Рассказываем о литературе про мифологию: #китаплар#книги
🟢 Исследуем актуальную тему и готовим подробный материал: #лонгрид
🟢 Рассказываем о праздниках, обрядах, правилах поведения: #традиции
🟢 Наслаждаемся актуальной татарской музыкой: #плейлист
🟢 Ведем беседу с интересными гостями: #интервью
🟢 Размещаем локации интересных мест: #локации
🟢 Делимся новостями нашего проекта: #анонс
❔По вопросам и предложениям пишите @kamilamirasova