ru
Feedback
Zen of Python

Zen of Python

Открыть в Telegram

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

Больше

📈 Аналитический обзор Telegram-канала Zen of Python

Канал Zen of Python (@zen_of_python) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 19 287 подписчиков, занимая 6 972 место в категории Технологии и приложения и 35 079 место в регионе Россия.

📊 Показатели аудитории и динамика

С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 19 287 подписчиков.

Согласно последним данным от 05 июня, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило 26, а за последние 24 часа — -3, при этом общий охват остаётся высоким.

  • Статус верификации: Не верифицирован
  • Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 12.34%. В первые 24 часа после публикации контент обычно набирает 5.62% реакций от общего числа подписчиков.
  • Охват публикаций: В среднем каждый пост получает 2 378 просмотров. В течение первых суток публикация набирает 1 082 просмотров.
  • Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 9.
  • Тематические интересы: Контент сосредоточен на ключевых темах, таких как github, rust, pip, api, install.

📝 Описание и контентная политика

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

Благодаря высокой частоте обновлений (последние данные получены 07 июня, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.

19 287
Подписчики
-324 часа
+137 дней
+2630 день
Архив постов
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