Zen of Python
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL
Mostrar más📈 Análisis del canal de Telegram Zen of Python
El canal Zen of Python (@zen_of_python) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 19 291 suscriptores, ocupando la posición 6 987 en la categoría Tecnologías y Aplicaciones y el puesto 35 120 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 19 291 suscriptores.
Según los últimos datos del 06 junio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 37, y en las últimas 24 horas de -4, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 12.72%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 5.70% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 2 453 visualizaciones. En el primer día suele acumular 1 099 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 9.
- Intereses temáticos: El contenido se centra en temas clave como github, rust, pip, api, install.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Полный Дзен Пайтона в одном канале
Разместить рекламу: @tproger_sales_bot
Правила общения: https://tprg.ru/rules
Другие каналы: @tproger_channels
Сайт: https://tprg.ru/site
Регистрация в перечне РКН: https://tprg.ru/xZOL”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 08 junio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
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 — для обычных исключений он не нужен;uvicorn --reload или gunicorn --reload, при любом изменении кода полностью перезапускают сервер. Это может занимать целую вечность, если проект крупный.
Одна команда реализовала такую перезагрузку «на месте» с помощью Dependency Graph. При изменении файла система определяет все связанные с ним модули и обновляет только их.
Используя карту зависимостей и отслеживание порядка импорта, удалось сократить время обновления с 4,8 секунды до 6 миллисекунд.
✍️ — бывало, подбешивало
🗿 — ну и пускай перезагружается с нуля
#факт
@zen_of_pythonmatch-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 ExceptionA, ExceptionB, ExceptionC:
...
#факт
@zen_of_python
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
