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 287 subscribers, ranking 6 972 in the Technologies & Applications category and 35 079 in the Russia region.

📊 Audience metrics and dynamics

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

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

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 12.34%. Within the first 24 hours after publication, content typically collects 5.62% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 2 378 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 9.
  • 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 07 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 287
Subscribers
-324 hours
+137 days
+2630 days
Posts Archive
PEP 770 принят: «Улучшая измеримость пакетов ...» 11 апреля принята к разработке стандартизированный метод SBOM (англ. Softwa
PEP 770 принят: «Улучшая измеримость пакетов ...» 11 апреля принята к разработке стандартизированный метод SBOM (англ. Software Bill-of-Materials). Этот документ будет располагаться в .dist-info/sboms и: решать проблему «фантомных зависимостей». Многие зависимости содержат встроенные компоненты на других языках (например, C, C++, Rust), которые не отражаются в стандартных метаданных. Это затрудняет анализ состава программного обеспечения и может привести к пропущенным уязвимостям. Предложение не ограничивается одним форматом SBOM. В зависимости от потребностей разработчиков предлагают две альтернативы. #факт @zen_of_python

except* | Зачем нужна звездочка? Когда мы работаем с asyncio, может случиться так, что несколько задач выбрасывают ошибки одновременно. До Python 3.11 ловилась только первая ошибка. Остальные — либо игнорировались, либо приходилось мучиться с обработкой. С Python 3.11 ввели ExceptionGroup. Это контейнер для нескольких исключений.

ExceptionGroup(
    [ValueError("Ошибка 1"), TypeError("Ошибка 2")]
)
Рассмотрим пример:

import asyncio

async def task1():
    raise ValueError("Ошибка в task1")

async def task2():
    raise TypeError("Ошибка в task2")

async def main():
    try: # ловит ExceptionGroup
        await asyncio.gather(task1(), task2()) # запускает обе задачи параллельно
    except* ValueError as e: # перехватывает все ValueError из группы
        for err in e.exceptions:
            print(f"Перехвачено ValueError: {err}")
    except* TypeError as e: # перехватывает все TypeError
        for err in e.exceptions:
            print(f"Перехвачено TypeError: {err}")

asyncio.run(main()) 

'''
Вывод:
Перехвачено ValueError: Ошибка в task1
Перехвачено TypeError: Ошибка в task2
'''
Подводные камни except* - except* нельзя комбинировать с обычным except в одном обработчике (`except* ValueError as e, TypeError as e2` — так нельзя); - except* работает только с ExceptionGroup — для обычных исключений он не нужен;

H3LLO․CLOUD вконец упоролись и дают две вируталки на год БЕСПЛАТНО • Две виртуалки с 2 ядрами. • 4 Гб оперативки DDR5. • 50 Гб объектного хранилища. • 40 Гб сетевого диска. • Белый статический IP (конечно, v4). • И даже балансировщик нагрузки! Это первое подобное предложение на российском рынке. Они просто знают, что стоит вам попробовать настоящее облако с двумя машинами — и вас будет ломать возвращаться к убогим хостингам. Две машины — это уже отказоустойчивая система. Можно запустить реальный проект: блог на 10к+ посещений, небольшой магазин или корпоративный сайт. И всё это без покупки железа и головной боли с настройкой. Базы данных тоже включены, так что можно забыть о мучениях с Postgres, Mongo и прочим добром. Когда вы почувствуете, как легко и приятно с этим всем работать, — всё, приехали, вы не сможете от этого отказаться. А ещё скоро H3LLO․CLOUD добавят бесплатный Kubernetes — 3 месяца простенького кластера и месяц полноценного. Единственное условие: чтобы получить все плюшки, включая белый IP, нужно пополнить счёт на 5000 ₽. Это не плата, это защита от криптомайнеров и торрент-раздавальщиков. Деньги останутся на вашем счету. «А что если я создам 100 аккаунтов и буду пользоваться бесплатно вечно?» Ну, попробуйте. У H3LLO․CLOUD есть специальный человек Серёжа, который каждое утро приходит, пьёт кофе и ищет таких умников. А ещё у H3LLO․CLOUD есть нейросеть, но про неё Серёже не говорят — пусть думает, что незаменим. Короче, заходите, тестируйте, ломайте. H3LLO․CLOUD готовы! А чтобы первыми узнать о подобных предложениях — подписывайтесь на канал! Это тоже бесплатно. Реклама. Рекламодатель: ООО «ХЕЛОУ», ИНН 9704228431, erid:2W5zFHCRnw2

Вопрос подписчика Задает @Ilia_O_P: «Есть у кого-нибудь пример метакласса, который запоминал бы изменения в объектах дочерних
Вопрос подписчика Задает @Ilia_O_P: «Есть у кого-нибудь пример метакласса, который запоминал бы изменения в объектах дочерних классов и мог их откатить, при запросе?» NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике. #обсуждение @zen_of_python

zev | Помнит CLI-команды за вас Утилита на базе OpenAI, которая поймет ваш запрос «на простом человеческом» и в ответ вернет команду, с учетом операционки, естественно. Создатели рекомендуют ollama, так тул вообще станет условно бесплатным. Цена: бесплатно Репозиторий проекта #инструмент @zen_of_python

copier | Ctrl + C, Ctrl + V для шаблонов проекта Если вам тоже надоело настраивать проекты с нуля каждый раз, то этот инструм
copier | Ctrl + C, Ctrl + V для шаблонов проекта Если вам тоже надоело настраивать проекты с нуля каждый раз, то этот инструмент как раз автоматизирует такую рутинную задачу. Принимает как локальные пути до темплейтов, так и ссылки GitHub. ❤️ — пускай у подписчиков аптайм будет 99,99% 🌚 — хочу, чтобы тот самый подходящий репозиторий с GitHub всегда был с фиксированными версиями зависимостей Цена: бесплатно Библиотека на PyPi #инструмент @zen_of_python

Еще бы, ведь спустя столько лет наконец появились время и навык для того самого пет-проекта #кек @zen_of_python
Еще бы, ведь спустя столько лет наконец появились время и навык для того самого пет-проекта #кек @zen_of_python

Repost from IT Юмор
​​Когда вставил в код, написанный нейросетью, свой кусок:

Ну или по классике — закоммитил .env #кек @zen_of_python
Ну или по классике — закоммитил .env #кек @zen_of_python

Python — это уже целая религия, однако Гвидо ван Россум в ней точно отказался от роли кумира. #кек @zen_of_python
Python — это уже целая религия, однако Гвидо ван Россум в ней точно отказался от роли кумира. #кек @zen_of_python

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

Вселенная пушит тебе знаки… Стоит ли сегодня деплоить на прод, начинать новый проект или лучше затаиться и почистить кэш? Выт
Вселенная пушит тебе знаки… Стоит ли сегодня деплоить на прод, начинать новый проект или лучше затаиться и почистить кэш? Вытащи карту из нашей цифровой колоды и получи мудрый совет судьбы перед новым релизом, багфиксом или планёркой. Реклама

Вопрос подписчика Задает @FieryDruid: «Генерировал ли кто-нибудь индексы для моделей sqlalchemy в рантайме? Так сложилось, чт
Вопрос подписчика Задает @FieryDruid: «Генерировал ли кто-нибудь индексы для моделей sqlalchemy в рантайме? Так сложилось, что индексов надо достаточно много и генерируются они по определенному принципу, из-за чего вручную их описывать в модели очень не удобно. Написали генератор, который за нас заполняет __tableargs__ модели Но из-за такого генератора появилось странное поведение alembic Теперь, при каждой новой миграции, он в upgrade сначала удаляет все старые индексы, а потом добавляет их же (первая генерация нормальная, но каждая последующая сопровождается такими вот артефактами) Может кто сталкивался или есть мысли из-за чего такое поведение может быть? Порядок генерируется один и тот же, нейминги, типы и т.д тоже». #обсуждение @zen_of_python

Hot Module Reloading для вашего проекта на WSGI Тоже надоело перезапускать бота в командной строке при каждом изменении кода?
Hot Module Reloading для вашего проекта на WSGI Тоже надоело перезапускать бота в командной строке при каждом изменении кода? Традиционные инструменты, такие как uvicorn --reload или gunicorn --reload, при любом изменении кода полностью перезапускают сервер. Это может занимать целую вечность, если проект крупный. Одна команда реализовала такую перезагрузку «на месте» с помощью Dependency Graph. При изменении файла система определяет все связанные с ним модули и обновляет только их. Используя карту зависимостей и отслеживание порядка импорта, удалось сократить время обновления с 4,8 секунды до 6 миллисекунд. ✍️ — бывало, подбешивало 🗿 — ну и пускай перезагружается с нуля #факт @zen_of_python

Как я сделал Telegram-кружки из обычного видео с помощью Python, ffmpeg и магии Автор статьи — подписчик Tproger, описал, как с помощью Python и FFmpeg можно преобразовать видео в Telegram-кружочки. Хороший способ познакомиться с питонической обработкой видео и Telegram Bot API. #основы @zen_of_python

Вопрос подписчика Задает @kirillkasparyants1: «обработка файлов с расширением отличный от .txt» От админа: если вас интересую
Вопрос подписчика Задает @kirillkasparyants1: «обработка файлов с расширением отличный от .txt» От админа: если вас интересуют форматы вроде .docx, то почти для каждого из них на PyPi уже есть либа: python-docx, python-pdf и проч. NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике. #обсуждение @zen_of_python

CUDA Python CUDA — платформа параллельных вычислений, с ней мы можем запускать свой код на графических процессорах. NVIDIA очнулась, и теперь предоставляет нативную поддержку Python для этой экосистемы. Ранее для запуска использовались C / C++ или сторонние обёртки. Теперь Python — так называемый язык первого класса в CUDA. Для специалистов в области машинного обучения это означает ускорение вычислений на GPU. #факт @zen_of_python

Pattern Matching в Python 3.13 Помимо No GIL и билдов для iOS-приложений, в новой версии были внесены улучшения в структурное сопоставление с образцом (Pattern Matching). Одним из ключевых нововведений стало более интуитивное сопоставление по атрибутам объектов. Ранее для сопоставления объектов по их атрибутам требовалось использовать дополнительные методы или свойства, что усложняло код. С введением новой функциональности в Python 3.13 стало возможным напрямую сопоставлять объекты по их атрибутам в конструкции match-case.

match user:
    case User(name="Admin", role=AdminRole()) as admin:
        return admin.get_permissions()
    case User(name=name, role="editor") if is_senior(name):
        return editor_permissions()
    case _:
        return default_permissions()
- Если объект user является экземпляром класса User с атрибутом name, равным "Admin", и атрибутом role, являющимся экземпляром AdminRole, то он присваивается переменной admin, и вызывается метод get_permissions(); - Если user — это User с ролью "editor" и именем, удовлетворяющим условию is_senior(name), то возвращаются разрешения редактора. - Во всех остальных случаях возвращаются разрешения по умолчанию. Под капотом сопоставление по атрибутам работает следующим образом: - Проверяется, является ли объект экземпляром указанного класса; - Затем происходит попытка сопоставления указанных атрибутов объекта с заданными значениями или шаблонами; - Если все условия выполняются, сопоставление считается успешным, и можно использовать переменные, полученные в результате сопоставления.

try-except «укоротят» Недавно приняли PEP 758, и там решили убрать скобочки при перечислении типов ошибок в try-except: excep
try-except «укоротят» Недавно приняли PEP 758, и там решили убрать скобочки при перечислении типов ошибок в try-except: except (ExceptionA, ExceptionB, ExceptionC):

try:
    ...
except ExceptionA, ExceptionB, ExceptionC:
    ...
#факт @zen_of_python

Как создать надёжный софт, который будет работать в любых условиях? 29 апреля в 20:00 МСК на открытом вебинаре вы узнаете, ка
Как создать надёжный софт, который будет работать в любых условиях? 29 апреля в 20:00 МСК на открытом вебинаре вы узнаете, как защитить свой код от проблем, которые могут возникнуть в реальной эксплуатации. А ещё: — Как гарантировать отказоустойчивость приложений. — Подходы к снижению влияния сбоев и ошибок в связанных сервисах. — Основные приемы и инструменты для создания надежных систем. Полезно для разработчиков, QA-инженеров и архитекторов. Открытый урок пройдет в преддверие старта курса «Python Developer. Professional». Все участники получат скидку на обучение. Регистрируйтесь прямо сейчас! Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576