en
Feedback
Zen of Python

Zen of Python

Open in Telegram

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Show more

📈 Analytical overview of Telegram channel Zen of Python

Channel Zen of Python (@zen_of_python) in the Russian language segment is an active participant. Currently, the community unites 19 270 subscribers, ranking 6 967 in the Technologies & Applications category and 35 078 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 19 270 subscribers.

According to the latest data from 04 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 19 over the last 30 days and by 7 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 12.73%. Within the first 24 hours after publication, content typically collects 5.61% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 2 454 views. Within the first day, a publication typically gains 1 082 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 11.
  • Thematic interests: Content is focused on key topics such as github, rust, pip, api, install.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Thanks to the high frequency of updates (latest data received on 05 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

19 270
Subscribers
+724 hours
+157 days
+1930 days
Posts Archive
Не ждали, а она тут — новая версия Python 3.14 🚀 Лучше просто кликнуть по ссылке сейчас и послушать краткий обзор от Евгения Афонасьева, тимлида разработки Antifraud в Авито, чем потом упускать полезные фичи и искать этот пост. В ролике ребята разобрали, как небольшие обновления, так и те, что лучше внедрять в свою работу уже сейчас. 📺 Смотрите и обсуждайте по ссылке! Это #партнёрский пост

Вот хороший учебный проект по agentic RAG, который можно поднять локально без API‑ключей и облака: только Python, LangGraph и ваш комп. Автор собрал в одном месте весь пайплайн: от подготовки данных до рабочего агента, чтобы новичкам не рыскать по разрозненным гайдам и видео. В отличие от типичных туториалов «кусочками», здесь end‑to‑end реализация с минимальными зависимостями и упором на понятность и практичность.​ Что внутри по механике: конвертация PDF → Markdown, иерархическое разбиение на чанки, гибридные эмбеддинги, хранение в Qdrant, параллельная обработка мульти‑запросов, переформулировка вопросов и уточнения у человека при неоднозначностях. Контекст сжимается через саммари, а поверх всего — агент на LangGraph, который сам решает, когда переписать запрос, когда добрать родительские чанки, и когда генерировать ответ; есть простой чат‑интерфейс на Gradio.​ Фишка именно в «агентности»: это не линейный проект, а петля с проверками, где агент оценивает достаточность контекста, при необходимости расширяет поиск (например, поднимая родительский уровень чанков) и только потом отвечает. Такой подход лучше тянет сложные вопросы и снижает галлюцинации, потому что решение не зашито жёстко в пайплайн — агент сам выбирает следующий шаг.​ Кому зайдёт: если хочется руками понять, как склеиваются рассуждение, ретрив, переписывание запросов и память в реальном агенте — это ровно тот кейс. Репозиторий свежий и минималистичный; можно быстро форкнуть и адаптировать под свои документы.

В Python 3.14 появилось фишка, которая реально меняет дебаг live-процессов: безопасный внешний интерфейс отладки по PEP 768, который позволяет подключаться к уже запущенному питоновскому процессу по PID — без перезапуска и без ломания рантайма на ровном месте. В практическом виде это значит, что теперь можно сделать обычный attach встроенным pdb: python -m pdb -p <PID>, залезть внутрь, посмотреть состояние, выполнить код — как будто запускал под отладчиком с самого начала.​ Главная фишка — все происходит в «безопасных точках» интерпретатора, без хака с инъекцией машинного кода через ptrace/LLDB и без риска словить краш, гонки за GIL или порчу памяти при сборке мусора. Интерфейс кооперируется с eval loop CPython и просто просит интерпретатор выполнить небольшой скрипт, когда это безопасно; под капотом для этого добавили пару полей в PyThreadState и используют существующий eval_breaker, поэтому накладных расходов в обычном режиме нет.​ Для инструментов завезли sys.remote_exec(pid, path_to_script): можно подложить .py-файл и он выполнится в целевом процессе при первой возможности, что удобно для быстрых диагностик: распечатать стек, проверить состояние, собрать метрики, даже если это прод и процесс нельзя трогать. Момент важный для продакшена и безопасности: механизм можно отключить через переменные/флаги (PYTHON_DISABLE_REMOTE_DEBUG, -X disable-remote-debug, сборка без поддержки), а любые вызовы проходят через audit hooks, так что всё прозрачно и контролируемо для админов.​ Если хотите детали и хороший разбор, у surister вышел пост после выступления Пабло Галиндо (соавтора PEP): там с примерами, почему старые подходы были хрупкими, и как новый протокол делает attach нормальным инструментом, а не рулеткой с падениями. Ещё раз супер-кратко: теперь attach к живому Python — это стандартная возможность CPython 3.14, с нулевой ценой в рантайме и без трюков уровня «инжектим код в произвольной точке», что сильно упрощает жизнь при отладке долгоживущих сервисов и edge/IoT кейсов.

Совет управляющих Python одобрил два PEP — 798 про распаковку в comprehensions и 810 про явные ленивые импорты, оба целятся в Python 3.15. PEP 798 добавляет возможность применять распаковку прямо в comprehensions и генераторах: можно использовать символы звездочки для объединения и слияния, например [*it for it in its] или {**d for d in dicts}. Приняли с оговоркой: и синхронные, и асинхронные генераторные выражения должны использовать явные циклы, без yield from, чтобы сохранить простой и единый стиль, ближе к поведению itertools.chain.from_iterable. PEP 810 вводит явный синтаксис ленивых импортов: lazy import json и lazy from json import dumps, когда модуль реально загрузится только при первом обращении к имени — полезно для ускорения старта и экономии памяти. Совет уточнил детали: .pth не поддерживают ленивые импорты, появится sys.get_lazy_imports(), и будет зафиксирован приоритет между переменной окружения, флагом -X и вызовами sys.set_lazy_imports(), при этом стилистические правила сортировки оставят линтерам и форматтерам. P.S. Кто такие эти ваши «совет управляющих»? После ухода Гвидо с роли BDFL в 2018 сообщество приняло модель управления PEP 8016 — стратегию языка и финальные решения по PEP принимает избираемый из core-разработчиков Совет из пяти человек. Этот Совет переизбирается после каждого мажорного релиза голосованием среди core-dev’ов и выступает финальным арбитром по спорным вопросам развития языка.

Как провести проверку типов в 1,8 миллионах строчек Python-кода за секунду? Нил Митчел рассказывает как новый тайп-чекер Pyrefly достигает такой скорости (дубляж на русский). Аннотации типов появились ещё в 2014 году и с тех пор стали значительно сложнее: дженерики, подтипы, flow types, field refinement и другие не всем даже известные слова. Pyrefly моделирует и проверяет эту сложную систему и делает это быстро. В принципе тем же самым занимается uv ty, но у ребят из Astral немного другой подход: дать пользу программисту аккуратно, не ошибиться случайно в коде, который хоть и без типов, но теоретически может быть валидным. Можно сказать, что Pyrefly более агрессивный и стабильный, хотя оба проекта ещё в альфе. Попробовать можно прям на сайте проекта: pyrefly.org/sandbox Что ж, наконец-то кто-то сможет угнаться за скоростью написания вайб-кода и проверить хотя бы типы. @zen_of_python

Свежий пет-проект от (видимо) скучающего на досуге питониста — терминальный Git‑клиент на чистом Python, вдохновлённый LazyGi
Свежий пет-проект от (видимо) скучающего на досуге питониста — терминальный Git‑клиент на чистом Python, вдохновлённый LazyGit; ставится через pip и работает без внешнего git CLI. Попробовать: pip install pygitzen. Что даёт: навигация по коммитам, просмотр diff, панель статусов файлов в стиле VSCode, ветко‑зависимая история и индикаторы «пушнуто/локально» без вызова системного git.​ Зачем: когда в окружении нельзя ставить ничего кроме Python‑пакетов, нужен «чисто Python» инструмент для Git с удобной навигацией и минимумом интеграций.​ Автор просит фидбек по недостающим функциям и удобству UI, так что можете отписаться в репозитории. Вам плюсик в карму, автор порадуется. Проект, послуживший вдохновением: https://github.com/jesseduffield/lazygit Ну и, конечно, кто-то написал аналог на Rust, чтобы было ультра-быстро, а скорее просто потому что может: https://github.com/gitui-org/gitui Как вам такие поделки? Как минимум романтично же, консольные клиенты как будто пахнут старыми добрыми временами, вы не находите? @zen_of_python

Какую версию Python взять, чтобы всё работало без лишних проблем? С одной стороны, хочется более свежую: в 3.14 завезли free-
Какую версию Python взять, чтобы всё работало без лишних проблем? С одной стороны, хочется более свежую: в 3.14 завезли free-threading и вообще много чего улучшили по производительности. Но не все библиотеки ещё подтянулись. Например, Numba ещё 3.14 не поддерживает. Хороший совет — вооружитесь uv и последовательно пробуйте все версии начиная с самой свежей. Первая, которая заработает, и будет вашей. По сути самая свежая из тех, которую поддерживают все зависимости у вас в проекте. Также полезно посмотреть на релизный цикл (на картинке к посту). Очевидно не стоит брать версии, которые уже не поддерживаются. Спускаться ниже 3.10 будет не самым безопасным вариантом. Ровно как и пробовать то, что ещё не выпущено официально — на 3.15 заглядываться рановато. По состоянию на ноябрь 2025 версия 3.13 выглядит хорошей золотой серединой. Почти все уже успели добавить поддержку, а от ведущей 3.14 отставание всего на один шаг. А какие версии вы используете у себя в проектах? #обсуждение @zen_of_python

Пользователь Reddit поделился Python-библиотекой для быстрых запросов к файловой системе и выполнения действий над найденными файлами. Основная идея: вместо кучи строк кода, os.stat и datetime писать так:
query = Query(
    where_expr=(AgeDays() > 7) & (Size() > "10 mb") & Suffix(".log"),
    from_paths="C:/logs",
    threaded=True
)
result_set = query.select()
Т.е. найти логи старше 7 дней и больше 10 МБ. Выглядит удобно, но как-то не очень pythonic, вам не кажется? Как будто если делаешь что-то SQL-like, то лучше напрямую SQL и взять, а не изобретать мини-язык внутри Python. И это как раз самое интересное — в комментах начали предлагать как можно сделать лучше. Например, вот так:
query(lambda p: p.age_days < 7 and p.size > 10_000_000 and p.suffix == ".log")
Добавить обёртку, которая будет вычислять необходимые свойства по запросу с использованием cached_property и получим по сути то же самое, но проще. Или использовать модуль ast и такой синтаксис:
query("age_days < 7 and size > 10_000_000 and suffix == '.log'")
А может вообще что-то lisp-подобное:
query(("and", ("age_days", ">", 7),
              ("size", ">", 10_000_000),
              ("suffix", "==", ".log")))
Или добавить callable-объекты, которые можно передавать в фильтры, получится куда более нативно:
dir = pathlib.Path('/var')
for file in filter(OlderThan(days=7) & LargerThan(MB=10),dir.rglob("*")):
    print(file.as_posix())
Лично мне, админу канала @zen_of_python, последний вариант кажется самым удобным. Не самый привычный синтаксис, но читается однозначно. И возможность задавать время и размер файлов в привычных единицах — тоже плюс. Если для ускорения добавить конкурентность и кэширование, как сделал автор исходной библиотеки, то получится прекрасный инструмент. А какой стиль вам больше понравился? Как бы вы реализовали?

Вопросы подписчиков Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает: — Спрашивайте
Вопросы подписчиков Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает: — Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов! — Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте. #обсуждение @zen_of_python

​​Python for Everyone | Короткие видеотуториалы Англоязычный YouTube-канал, прекрасно «грокающий» различные концепции языка, будь то декораторы, миксины или полиморфизм. Каждый ролик — кустарный мультфильм с демонстрацией предельно понятного кода. #обучение @zen_of_python

​​Юн Цуй «Рецепты Python. Коллекция лучших техник программирования» Если вам уже попадалась постепенно усложняющаяся книга по языку, которую труднее читать к концу, то в этот раз будет по-другому. В книге Юн Цуй собрал 63 самых полезных, по его мнению, навыков Python-разработчика, К примеру, в одной из глав задача ««Как найти элементы в последовательности?» получает сначала базовое решение, а потом дополняется еще двумя. #обучение @zen_of_python

Не пропусти МТС True Tech Champ — масштабный фестиваль 21 ноября для тех, кто живет технологиями Тебя ждут: • Захватывающая сюжетная линия: уникальная кибервселенная с возможностью влиять на ход происходящего; • Конференция с международными спикерами: эксперты расскажут о трендах в ИИ и инновациях в индустрии; • ИТ-качалка — наращивай экспертизу на воркшопах; • Шоу-финал ИТ-чемпионата, где более 250 талантов со всей России сразятся в лайв-кодинге и программировании роботов на скоростное прохождение лабиринтов со спецэффектами. Поболей за своих фаворитов; • Активности: бои роботов, кодерские челленджи, пайка плат и не только. Заработай True Coins и обменяй их на стильный мерч; • HR-Hub, где команда МТС расскажет о возможностях для развития в компании и поможет перезагрузить карьерный трек; • Афтепати со звездными хэдлайнерами — зажги под популярные хиты! Когда: 21 ноября, МТС Live Холл в Москве и онлайн. Регистрируйся на сайте. Бесплатное участие, количество мест ограничено. Это #партнёрский пост

air | Веб-фреймворк на базе FastAPI, Starlette и Pydantic Новый минималистичный веб-тул от авторов книги 'Two Scoops of Djang
air | Веб-фреймворк на базе FastAPI, Starlette и Pydantic Новый минималистичный веб-тул от авторов книги 'Two Scoops of Django'. Крутая особенность — Air Tags, теги-компоненты по аналогии с React. С Air проще писатьвеб-приложения с подкапотным API. Хорошая попытка исправить то, что не нравится в Django. #инструмент @zen_of_python

​​Python Software Foundation отвергла грант США на $1,5 млн из-за запрета на инициативы по инклюзивности PSF неожиданно отказалась от гранта на 1,5 млн долларов, предложенного Национальным научным фондом США (NSF), из-за условий, запрещающих организациям-получателям продвигать программы, направленные на разнообразие, равенство и инклюзивность. Несмотря на финансовую поддержку в рамках проекта по безопасности opensource-экосистем, PSF сочла, что такие ограничения противоречат её ценностям и миссии. Совет директоров единодушно отверг предложение, указав, что запрет на инициативы DEI (diversity, equity, inclusion) может повредить всей её деятельности. Решение принято в условиях сохраняющейся потребности фонда в ресурсах и растущего внимания к безопасности экосистемы Python. #факт @zen_of_python

Для тех, кто чувствует, что может больше в IT Когда начинаешь щёлкать старые рабочие задачи как орешки, приходит время прокач
Для тех, кто чувствует, что может больше в IT Когда начинаешь щёлкать старые рабочие задачи как орешки, приходит время прокачиваться до мидла или сеньора. Усилить экспертизу поможет новое направление курсов Яндекс Практикум PRO. Оно создано специально для практикующих специалистов в IT-профессиях: программировании, анализе данных, работе с нейронками, продакт- и проджект- менеджменте. Здесь обучают на реальных кейсах и помогают углубить знания в выбранной сфере. И эти навыки точно понадобятся каждому, кто задумывается о переходе с позиции джуна. Вся информация о курсах собрана здесь. Это #партнёрский пост

​​Импортозамещение Trello, Jira и Confluence — подборка для разработчиков На Tproger представили подборку российских альтернатив Trello, Jira и Confluence с акцентом на коллективное хранения документов. В статье вы найдете инструменты, которые позволяют управлять процессами, задачами и документацией в одном пространстве, без разделения между трекером и хранилищем знаний. Инструменты соответствуют ФЗ-152 (о персональных данных) — все решения размещаются на отечественных серверах или поддерживают on-premise. Среди разбираемых продуктов есть как простые таск-системы, так и комплексные платформы с удобным редактором, версионированием и автоматической миграцией контента из зарубежных сервисов. @prog_tools

super(): как это работает Сегодня мы разберём одно из ключевых понятий объектно-ориентированного программирования в Python — super(). Когда мы работаем с наследованием, то порой сталкиваемся с дублированием кода:

class Employee:
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary

    def raise_salary(self, amount):
        self.salary += amount


class Manager(Employee):
    def __init__(self, name, salary, department):
        self.name = name
        self.salary = salary
        self.department = department
На первый взгляд, всё верно. Но посмотрите внимательно — часть кода в Manager.__init__ дублирует логику базового класса Employee. В больших проектах уследить за всеми такими повторениями становится трудоемко. Решение простое — использовать super():

class Manager(Employee):
    def __init__(self, name, salary, department):
        super().__init__(name, salary)
        self.department = department
Теперь Manager вызывает конструктор базового класса Employee, а значит: 🔘 Код становится короче; 🔘 Меньше ошибок при рефакторинге. Как это работает под капотом Многие думают, что super() — это функция. На самом деле это класс. При его вызове возвращается прокси-объект, который даёт доступ к методам родительского класса. То есть строка:

super().__init__(name, salary)
означает:
«Возьми ближайший родительский класс в иерархии и вызови его метод `__init__()`».
Что важно помнить 🔘 super() работает не только в __init__. Его можно использовать в любых методах, которые переопределяются в подклассе; 🔘 Можно вызывать super() без аргументов — контекст определяется автоматически; 🔘 В сложных системах с множественным наследованием super() работает через механизм Method Resolution Order (MRO). Это гарантирует, что каждый базовый класс вызывается ровно один раз. #основы @zen_of_python

Дайте два 😮‍💨 Напомним, как всё было: летом вы голосовали за концепт и дизайн упаковки нашего фирменного напитка — между ТИПИЧНЫМ и ТОКСИЧНЫМ. Предсказуемо победил ТОКСИЧНЫЙ ПРОГРАММИСТ. Лимитка получилась настолько удачной, что понадобился ещё один релиз. Paradox уже выкатили коллаб в продажу, а мы запускаем новый розыгрыш — 3 победителя получат коробку «ТОКСИЧНЫЙ ПРОГРАММИСТ» с шестью банками. Подробнее с правилами можно ознакомиться здесь. Чтобы участвовать, нужно: — быть подписанным на @tproger и @paradox_beer; — оставить реакцию под этим постом; — нажать кнопку «Участвую». Итоги подведём 27 октября. Победителей выберем с помощью бота. А если ты не хочешь ждать, то можешь уже купить свой ТОКСИЧНЫЙ IPA. Всем удачи! Участников: 709 Призовых мест: 3 Дата розыгрыша: 18:00, 27.10.2025 MSK (1 час)

Roo-Code | Опенсорсный ИИ-копайлот в VS Code Еще одно расширение IDE, в которое можно внедрить любую GPT, платную или бесплатную. На видео демонстрируется фича Auto Approve, с помощью который вы задаете, какие фичи сразу принимаются, а какие потребуют вашей проверки. Доступен в РФ: да Цена: бесплатно @prog_tools

Шпаргалка Linux Если вам предстоит демонстрировать навыки обращения с этой ОС на собесе или вы просто хотите узнать свои пробелы, обратите внимание на эту шпаргалку. Помимо классики вроде перемещения / переименования файлов, она содержит еще разделы про сеть (Networking), управление сервисами (systemd), контейнеризацию, которые часто не входят в базовые программы онлайн-университетов. #обучение @zen_of_python