uz
Feedback
Zen of Python

Zen of Python

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish

📈 Telegram kanali Zen of Python analitikasi

Zen of Python (@zen_of_python) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 19 287 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 6 972-o'rinni va Rossiya mintaqasida 35 079-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 19 287 obunachiga ega bo‘ldi.

05 Iyun, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni 26 ga, so‘nggi 24 soatda esa -3 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 12.34% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 5.62% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 2 378 marta ko‘riladi; birinchi sutkada odatda 1 082 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 9 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent github, rust, pip, api, install kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

Yuqori yangilanish chastotasi (oxirgi ma’lumot 07 Iyun, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

19 287
Obunachilar
-324 soatlar
+137 kunlar
+2630 kunlar
Postlar arxiv
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