es
Feedback
Zen of Python

Zen of Python

Ir al canal en Telegram

Полный Дзен Пайтона в одном канале Разместить рекламу: @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 290 suscriptores, ocupando la posición 6 972 en la categoría Tecnologías y Aplicaciones y el puesto 35 079 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 290 suscriptores.

Según los últimos datos del 05 junio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de 26, y en las últimas 24 horas de -3, 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.34%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 5.62% de reacciones respecto al total de suscriptores.
  • Alcance de las publicaciones: Cada publicación recibe en promedio 2 378 visualizaciones. En el primer día suele acumular 1 082 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 06 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.

19 290
Suscriptores
-324 horas
+137 días
+2630 días
Archivo de publicaciones
Новый синтаксис Python от Grok #кек @zen_of_python
Новый синтаксис Python от Grok #кек @zen_of_python

Всем тимлидам, разработчикам, тестировщикам и админам! Счастливого Дня программиста! Желаем вам всегда зелёных билдов, отзывч
Всем тимлидам, разработчикам, тестировщикам и админам! Счастливого Дня программиста! Желаем вам всегда зелёных билдов, отзывчивых кластеров и тихих дежурных смен. Пусть ваши логи будут чисты от ошибок, а мониторинг предупреждает о проблемах раньше, чем о них узнают пользователи. И чтобы пожелание точно сбылось, обязательно воспользуйтесь подарками из нашей IT-коробки. Готовили с любовью в сердце вместе с нашими друзьями. С праздником!

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

alive-progress | Шкала прогресса в CLI Библиотека, предназначенная для создания динамичных индикаторов прогресса в CLI. Среди фичей: — плавная анимация спиннера; — точный расчет оставшегося времени с использованием алгоритма экспоненциального сглаживания; —хуки для логирования. #инструмент #dataviz @zen_of_python

Зовём на 2ХАКАТОН от 2ГИС 4–5 октября, офлайн, Москва Два дня, чтобы общаться, кодить, вдохновляться и менять городские сервисы к лучшему! Три трека: городские данные с ЦОДД, инклюзия с фондами «Антон тут рядом», «Продвижение», «ЛизаАлерт» и носимые устройства — часы, браслеты, AR и другие гаджеты. Призовой фонд: 1 000 000 рублей и шанс, что проект попадёт прямо в 2ГИС! Регистрируйся с командой от 3 до 6 человек или соло — поможем найти команду в чате! #Реклама О Рекламодателе

​​Hypothesis подумает о пограничных случаях за вас Библиотека property-based тестирования, где вместо ручного набора тест-кейсов вы описываете свойства, которым должен соответствовать код, а разнообразные данные генерируются и проверяются автоматически, включая граничные случаи. При обнаружении сбоя Hypothesis не просто сигнализирует об ошибке — он возвращает наиболее простой пример, приводящий к сбою, что значительно облегчает отладку. #инструмент @zen_of_python

​​Вопрос подписчика Задает @mozmoroz: «Какие платные курсы с куратором можете посоветовать по питону для получения базы знаний с пониманием что такое питон и цикл if? Возраст 15 лет» NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике. #обсуждение @zen_of_python

Альфа-Банк приглашает IT-специалистов на турнир по спортивному хакингу AlfaCTF — он пройдёт 13-14 сентября Разработчики, тест
Альфа-Банк приглашает IT-специалистов на турнир по спортивному хакингу AlfaCTF — он пройдёт 13-14 сентября Разработчики, тестировщики и аналитики будут решать таски: взламывать, находить уязвимости, собирать флаги и бороться за звание лучшего хакера. 🤓🤓🤓🤓🤓🤓🤓🤓 🤓🤓🤓🤓🤓🤓🤓🤓 🤓🤓🤓🤓🤓🤓🤓🤓 🤓🤓🤓🤓🤓🤓🤓🤓 🤓🤓🤓🤓🤓🤓🤓🤓 🤓🤓🤓🤓🤓🤓🤓🤓 🤓🤓🤓🤓🤓🤓🤓🤓 Всего три уровня сложности, есть и простой для студентов. Команды-победители получат до 450 тысяч рублей. Собрать команду и зарегаться нужно на сайте. Для разминки найдите баг на картинке: Это #партнёрский пост

Этот код демонстрирует: 🔘 короткое замыкание (401 и 429 останавливают конвейер); 🔘 прохождение запроса дальше при None; 🔘 терминальный обработчик 404. Политики прохождения запроса 🔘 Short-circuit (рекомендуется по умолчанию): первый, кто вернул результат, «закрывает» цепочку; 🔘 Fall-through: все обработчики обязаны отработать (например, аудит/метрики/логирование), результат — агрегация; 🔘 Микс: часть «жёстких» (аутентификация, лимиты) — short-circuit; «мягкие» (логирование) — всегда проходят. #основы @zen_of_python

Цепочка обязанностей Цепочка обязанностей (Chain of Responsibility, CoR) — поведенческий паттерн, который пропускает запрос через последовательность обработчиков, пока один из них не возьмётся за дело (или пока цепочка не закончится). Этот подход «развязывает» отправителя и получателей запроса: отправителю не нужно знать, кто именно обработает задачу, а обработчики остаются взаимозаменяемыми и настраиваемыми в рантайме. Используйте CoR, если: 🔘 обработка запроса может зависеть от набора условий/правил, которые меняются со временем; 🔘 нужно включать / выключать шаги обработки без переписывания вызвавшего кода; 🔘 часть запросов может обрабатываться на ранних шагах, а остальные — «прокатываться» дальше; 🔘 вы строите конвейер: фильтры, middleware, валидаторы, пост-обработчики. Минимальный состав паттерна 🔘 Handler (интерфейс / абстракция): объявляет метод handle(request) и хранит ссылку на «следующего»; 🔘 ConcreteHandler: решает, обрабатывать ли запрос, либо передаёт дальше; 🔘 Client: строит цепочку и отправляет запрос первому звену. Пример

from __future__ import annotations
from abc import ABC, abstractmethod
from dataclasses import dataclass
from typing import Optional, Any, Callable


class Handler(ABC):
    def __init__(self, nxt: Optional["Handler"] = None):
        self._next = nxt

    def set_next(self, nxt: "Handler") -> "Handler":
        self._next = nxt
        return nxt  # позволяет строить цепочку «в линию»

    def handle(self, request: Any) -> Any:
        # Базовая реализация: попытаться обработать здесь,
        # иначе передать дальше.
        result = self._handle_here(request)
        if result is not None:
            return result
        if self._next:
            return self._next.handle(request)
        return None  # никто не справился

    @abstractmethod
    def _handle_here(self, request: Any) -> Optional[Any]:
        ...


@dataclass
class HttpRequest:
    path: str
    headers: dict
    user_id: Optional[int] = None
    payload: Optional[dict] = None


class AuthHandler(Handler):
    def _handle_here(self, req: HttpRequest) -> Optional[Any]:
        token = req.headers.get("Authorization")
        if not token:
            # Нет токена — «решение на месте»: отклоняем и НЕ передаём дальше
            return {"status": 401, "message": "Unauthorized"}
        # валидируем (упростим) и ставим идентификатор
        req.user_id = 42
        return None  # пропускаем дальше


class RateLimitHandler(Handler):
    def __init__(self, check: Callable[[HttpRequest], bool], nxt: Optional[Handler] = None):
        super().__init__(nxt)
        self.check = check

    def _handle_here(self, req: HttpRequest) -> Optional[Any]:
        if not self.check(req):
            return {"status": 429, "message": "Too Many Requests"}
        return None


class RouterHandler(Handler):
    def _handle_here(self, req: HttpRequest) -> Optional[Any]:
        if req.path == "/me" and req.user_id:
            return {"status": 200, "data": {"id": req.user_id}}
        if req.path == "/ping":
            return {"status": 200, "data": "pong"}
        # Не мой маршрут — пропускаю дальше (если есть)
        return None


class NotFoundHandler(Handler):
    def _handle_here(self, req: HttpRequest) -> Optional[Any]:
        # Терминальный обработчик: если дошли сюда — 404
        return {"status": 404, "message": f"Route {req.path} not found"}


# Сборка цепочки
def build_pipeline() -> Handler:
    auth = AuthHandler()
    rate = RateLimitHandler(check=lambda r: True)
    router = RouterHandler()
    notfound = NotFoundHandler()

    auth.set_next(rate).set_next(router).set_next(notfound)
    return auth


if __name__ == "__main__":
    pipeline = build_pipeline()
    print(pipeline.handle(HttpRequest(path="/ping", headers={"Authorization": "Bearer x"})))
    print(pipeline.handle(HttpRequest(path="/me", headers={"Authorization": "ok"})))
    print(pipeline.handle(HttpRequest(path="/unknown", headers={"Authorization": "ok"})))
    print(pipeline.handle(HttpRequest(path="/ping", headers={})))

CodeViz: бесплатное дополнение для VS Code, превращающее код в интерактивную карту 😬 Плагин строит визуальную структурированную карту вашего кода прямо в IDE. Можно наглядно увидеть архитектуру проекта, связи между файлами и понять его суть. Поддерживается масса яп, всё работает быстро и абсолютно бесплатно. Сохраняйте.

AI Journey Contest 2025: Брось вызов задачам уровня профи в мире ИИ! Участвуй в международном онлайн-соревновании по ИИ и пол
AI Journey Contest 2025: Брось вызов задачам уровня профи в мире ИИ!   Участвуй в международном онлайн-соревновании по ИИ и получи возможность побороться за денежный приз! Призовой фонд — 6,5 млн рублей!   Выбери один или несколько треков: • Agent-as-Judge — универсальный «судья», способный оценивать ИИ-тексты.   • Human-centered AI Assistant — персонализированный ассистент на основе GigaChat, имитирующий поведение людей и способный предугадать их предпочтения. Бонус: Участникам предоставляются токены для API + возможность получить дополнительно 1 млн токенов!   • GigaMemory — механизм долговременной памяти для LLM, помогающий ассистенту запоминать и использовать важные факты в диалоге.   Не упусти возможность не только прокачать свои скиллы, получить заветную строчку в списке своих достижений и выиграть солидный приз, но и заявить о себе на AI Journey — главной международной конференции по ИИ в России!   Соревнование проходит до 30 октября. Регистрируйся и участвуй Это #партнёрский пост

Вопрос подписчика Задает @StSav012: «Предлагаю задачку на алгоритм. Для данных n ∈ ℕ и чётного N ≥ n > 1, N ∈ ℕ, найти чётное ñ, ближайшее к n, являющееся делителем N. Если таких чисел несколько, выбрать наибольшее.Конечно, хочется скорость O(log(n)).

def find_closest_even_divisor(n: int, max_n: int) -> int:
    """
    For given n ∈ ℕ and an even N ≥ n, N ∈ ℕ,
    find an even ñ closest to n so that ñ is a divisor of N.

    If there are several such numbers, pick the largest one.
    """

    if max_n <= 0:
        raise ValueError(f"There are no positive divisors for {max_n}")
    if max_n & 1:
        raise ValueError(f"There are no even divisors for {max_n}, which is odd")

    if n > 0.75 * max_n:
        return max_n

    if max_n % n == 0 and n & 1 == 0:
        return n

    divisors: list[int] = []
    dd: int = 1
    while max_n > 1 and max_n & 1 == 0:
        max_n >>= 1
        dd <<= 1
        divisors.append(dd)

    d: int = 3
    dc: list[int]
    while max_n > 1:
        dc = []
        dd = 1
        while max_n % d == 0:
            max_n //= d
            dd *= d
            dc.append(dd)
        else:
            if dc:
                divisors += [divisor * dd for divisor in divisors for dd in dc]
            if d < isqrt(max_n) and d < 2 * n:
                d += 2
            else:
                break

    return min(divisors, key=lambda _d: (abs(n - _d), -_d))
Что ещё можно ускорить?» NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике. #обсуждение @zen_of_python

​​Как сеньоры документируют проекты: протокол архитектурных решений В статье рассказывается, как сеньоры применяют ADR (Architectural Decision Record — протокол архитектурных решений), чтобы документировать важные архитектурные изменения, их причины и последствия. ADR помогает сохранять логику принятия решений, избегать повторений ошибок и облегчает командную работу, особенно для новых участников. Автор сравнивает такой протокол с «личным дневником, но для всей команды», подчеркивая его пользу в будущем: спустя время возвращаться к архитектурным мотивам становится гораздо проще. #основы @zen_of_python 💅 — Если применяешь такое

Самое время собрать свою команду из IT-акул: Открыта регистрация на самый масштабный онлайн-хакатон в мире — «Лидеры цифровой
Самое время собрать свою команду из IT-акул: Открыта регистрация на самый масштабный онлайн-хакатон в мире — «Лидеры цифровой трансформации»! ⚡️40 млн рублей призового фонда: — 1 млн рублей — для тех, кто займёт первое место — 600 тысяч — второе — 400 тысяч — третье 20 актуальных задач от ведущих компаний страны: Газпромбанк.Тех, VK Tech, Kaspersky, АФЛТ-Системс (Группа «Аэрофлот»), Союзмультфильм, Авито, Итэлма, ОЭЗ «Алабуга», Х5. 14 дней на разработку решений. Призёрами хакатона станут 60 команд! Принять участие могут: 🔘граждане РФ и других стран от 18 лет 🔘специалисты: Front / Back / FullStack, Web-разработчики, UX / UI дизайнеры, Product / Project-менеджеры, Data Scientists, Data Engineers, аналитики и другие профессионалы 🔘местоположение — неважно, всё проходит онлайн Других ограничений нет! 📎 Успейте зарегистрироваться до 18 сентября! А больше новостей и подробностей — на нашем канале, подписывайтесь. Это #партнёрский пост

Шпаргалка NumPy Удобная шпаргалка, чтобы основные функции и методы этой ключевой «вычисляющей» библиотеки были под рукой. В ней собраны разделы вроде Creating Arrays, где показано, как создавать массивы разных типов и форм, Array Mathematics — с примерами арифметических операций, и Subsetting, Slicing, Indexing для работы с выборками. Есть также блоки про манипуляции с массивами, объединение, разбиение и сохранение данных. #шпаргалка @zen_of_python

​​Google Image Scraper | Массовый парсинг картинок из Google Тул помогает собирать сотни изображений для любой вашей цель — будь то ML-датасет, дизайн или что-то еще. При запуске указывае ключевые слова, количество файлов и параметры — и скрипт автоматически выгрузит нужные фото в нужном разрешении. Поддерживает работу в headless-режиме, гибкую настройку качества и параллельные загрузки. Цена: бесплатно #инструмент @zen_of_python

​​crewAI | Оркестрируемые GPT Зарубежные мечтатели неутомимо хотят слить всю работу на ИИ... На сей раз создали этакий «командный пост» для ваших нейронок вроде ChatGPT, Claude, Grok и прочих. Смысл в том, что доля портаков значительно сокращается, если LLM «судят» ответы друг друга. Даже вводят термин «гиперагент». Тул добился звания «Репозиторий дня» на GitHub, а это уже немало! Доступен в РФ: да Цена: бесплатно

Old but gold #кек @zen_of_python
Old but gold #кек @zen_of_python

Zen of Python - Estadísticas y analítica del canal de Telegram @zen_of_python