ch
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) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 18 954 名订阅者,在 技术与应用 类别中位列第 6 781,并在 俄罗斯 地区排名第 34 780

📊 受众指标与增长动态

невідомо 创建以来,项目保持高速增长,吸引了 18 954 名订阅者。

根据 28 八月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -157,过去 24 小时变化为 -4,整体触达仍然可观。

  • 认证状态: 未认证
  • 互动率 (ER): 平均受众互动率为 11.75%。内容发布后 24 小时内通常能获得 6.24% 的反应,占订阅者总量。
  • 帖子覆盖: 每篇帖子平均可获得 2 227 次浏览,首日通常累积 1 183 次浏览。
  • 互动与反馈: 受众积极参与,单帖平均反应数为 4
  • 主题关注点: 内容集中在 github, rust, pip, api, install 等核心主题上。

📝 描述与内容策略

作者将该频道定位为表达主观观点的平台:
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

凭借高频更新(最新数据采集于 29 八月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。

18 954
订阅者
-424 小时
-297
-15730
帖子存档
Немного безумные способы определения функций Мы привыкли определять функции с помощью ключевого слова def. Однако Python как язык куда глубже и гибче, чем может показаться на первый взгляд. Существует несколько способов создать функцию — от практичных до откровенно абсурдных. Lambda-функции — минимализм в действии lambda позволяет создавать анонимные функции в одну строку. Это удобно, когда функция короткая и используется "на лету", например, в map() или filter(). Lambda-функции не могут содержать сложную логику или много выражений — только одно выражение, без return и вложенных блоков:

multiply_by_three = lambda x: x * 3
print(multiply_by_three(5)) 
Это удобно, но не стоит использовать lambda для сложной логики — теряется читаемость. functools.partial С помощью functools.partial можно создавать функции с уже предзаданными аргументами:

from functools import partial

def power(base, exponent):
    return base ** exponent

square = partial(power, exponent=2)
print(square(5))  # 25
Это очень удобно, если вы часто вызываете функцию с одними и теми же аргументами и не хотите писать обёртки. Декораторы Декораторы позволяют оборачивать функции и изменять их поведение — например, добавлять логирование, кэширование или даже модифицировать аргументы:

def print_result(fmt):
    def decorator(func):
        def wrapper(*args, **kwargs):
            result = func(*args, **kwargs)
            print(fmt.format(result))
            return result
        return wrapper
    return decorator

@print_result("Результат: {}")
def double(x):
    return x * 2

double(4)
Мощный инструмент, но при чрезмерном использовании может запутать читаемость кода. Классы с методом __call__ В Python можно сделать объект вызываемым, определив метод __call__. Таким образом, вы можете создавать функции как объекты с состоянием:

class Greeter:
    def __call__(self, name):
        print(f"Hello, {name}!")

greet = Greeter()
greet("Bob")
Бонус — можно хранить состояние внутри объекта, например, счётчик вызовов. exec() exec() выполняет строку как код Python. Да, вы можете определять функции с его помощью.

code = '''
def add(x):
    return x + 10
'''
exec(code)
print(add(5))  # 15
Этот способ может быть полезен для метапрограммирования, например, если нужно дать пользователю возможность писать код в аналитической панели. Но использовать его нужно с большой осторожностью из-за проблем безопасности и отладки. eval() eval() — ещё один способ выполнить строку кода, но только если это выражение, а не целый блок.

add = eval("lambda x: x + 10")
print(add(3))  # 13
Те же плюсы и минусы, что и у exec(). types.new_class С помощью types.new_class() можно создавать callable-объекты (через `__call__`) на лету.

import types

def class_body(ns):
    ns['__call__'] = lambda self, x: x * 2

DynamicFunction = types.new_class("DynamicFunction")
class_body(DynamicFunction.__dict__)
func = DynamicFunction()
print(func(6))  # 12
Это крайне экзотический способ, почти бесполезный в практике, но демонстрирует гибкость Python. #основы @zen_of_python

​​Разжигаем огонь... вашей страсти к Python Проект Kindling Projects предлагает начинающим программистам идеи для небольших проектов на Python, которые достаточно просты для освоения, но при этом позволяют развивать навыки и проявлять креативность. Сотни несложных утилит, игр, классических кодерских задач, клонов популярных сервисов и проч. #инструмент @zen_of_python

​​mutmut | Мутационные тесты Mutation Testing — это метод, при котором в ваш исходный код вносятся небольшие изменения (мутации), и затем запускаются ваши тесты. Цель: проверить, насколько эффективно тесты обнаруживают ошибки. Утилита вносит мутации в ваш код (на уровне исходников), запускает ваши юнит-тесты после каждой мутации. Затем помечает мутации: — ✅ Killed (тест поймал баг); — ❌ Survived (мутация выжила). Такое особенно важно, если вы работаете в сфере безопасности, финансов. Цена: бесплатно Репозиторий проекта #инструмент @zen_of_python

​​Вместо индусов ChatGPT / Cursor #кек @zen_of_python

​​Еще немного форсим питонов #кек @zen_of_python 🙈 — Если не ожидал такого в канале про ЯП

​​Очаровательные комиксы от дата-сайентиста Элисон Хорст #кек @prog_tools

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

​​Создаём микросервис по выгодному обмену крипты В статье вы узнаете, как создать микросервис, что анализирует предложения и подсказывает, где можно выгоднее обменять криптовалюту. Все это делается на Python, который делает запросы к API exnode.ru и сортирует результат по выгоде. Вы также увидите, как создается веб‑интерфейс + Telegram‑бот. #api @zen_of_python

Несколько способов ускорить ваш код. В реальных задачах — от обработки данных до веб-сервисов — скорость выполнения критична. Незаметные узкие места могут приводить к росту затрат на инфраструктуру и снижению качества обслуживания пользователей. Вашему вниманию эффективные способа ускорить Python — каждый из них помогает бороться с типичными источниками замедлений. tuple вместо list Кортежи неизменяемы: они создаются один раз, занимают фиксированную память и оптимизируются самим интерпретатором. Списки же — динамический тип: их память часто переранее выделяется, они имеют более сложную внутреннюю структуру. Поэтому когда структура фиксирована и не требуется изменять элементы — используйте кортеж. Это существенно сэкономит память, когда речь идёт о больших объёмах данных. set и dict вместо list при частых проверках и поисках — Поиск x in my_list — линейная операция (O(n)); — Проверка присутствия через my_set или my_dict — это хеш-таблица (O(1)); Если вам нужна частая проверка вхождений (фильтрация или поиск), выбирайте сет или словарь. Первый предпочтителен для уникальных элементов, второй — когда нужен быстрый доступ по ключу и хранение значений. Локальные переменные быстрее Переменные локальной области видимости читаются быстрее, чем глобальные — это из-за особенностей функционирования интерпретатора. В циклах и функциях выносите глобальные объекты как список, словарь в локальные переменные — это ускоряет многократные обращения. #основы @zen_of_python

​​bandit | Насколько защищен ваш проект? Инструмент найдет «секурные прорехи» в вашем проекте, включая запушенные ключи / токены и небезопасные участки кода. Внезапно проект OpenStack — опенсорсной облачной инициативы NASA. Репозиторий проекта #инструмент @zen_of_python

Новый инструмент для отладки асинхронных процессов С выходом Python 3.14 beta 2 появился новый CLI-инструмент для инспекции асинхронных задач:

python -m asyncio ps 12345        # Табличный список задач для процесса с PID 12345
python -m asyncio pstree 12345    # Древовидное отображение взаимозависимых корутин
Команда выводит табличный список активных корутин с их именами, стеком и зависимостями. Сферы применения — Telegram-боты; — aiohttp и другие HTTP-серверах; — await‑запросы к БД. Теперь нет нужды вставлять логи или использовать профайлеры — диагностика идет вживую и позволит увидеть: — какие запросы обрабатываются дольше всего; — какие «вешают» бота; — какие запросы ожидают своей очереди. Документация #факт @zen_of_python

whatsonpypi | Ускоряем обновление зависимостей Если при обновлении библиотек проекта вам неохота каждый раз посещать pypi.org, с помощью этой утилиты вы сможете вывести данные о крайней версии и совместимости с Python прямо в командную строку. Репозиторий проекта #инструмент @zen_of_python

​​Опрос про роль ИИ в вашей работе Редакция Tproger проводит регулярное исследование об отношении айтишников к Искусственному интеллекту. Это небольшая анкета займет не более 5 минут, но очень поможет прояснить отношение разных групп к AI. Результатами обязательно поделимся. #опрос @zen_of_python

Repost from Код найма
Хватит искать работу в одиночку! Ты крутой айтишник, но поиск работы превращается в квест: бесконечные резюме, где важны не н
Хватит искать работу в одиночку! Ты крутой айтишник, но поиск работы превращается в квест: бесконечные резюме, где важны не навыки, а кейворды, десятки собеседований и постоянный стресс. Знакомо? Всё это выматывает и демотивирует. Мы тебя понимаем — и готовы поддержать! Команда Tproger открывает первое реалити-шоу в Телеграм о поиске работы — «Код найма». Вместе с опытными менторами ты пройдешь все этапы найма: ➡️ Прокачаешь резюме так, чтобы его заметили ➡️ Научишься проходить собеседования без волнения ➡️ Получишь честную обратную связь от рекрутеров ➡️ И, главное, дойдёшь до оффера в компании мечты! Весь путь будет проходить на глазах у подписчиков канала — они тоже смогут давать советы и поддерживать тебя. Хочешь стать героем нашего реалити и получить шанс найти работу мечты? ✍️ Заполняй анкету Мы выберем трёх участников, которым поможем пройти весь путь до оффера. Присоединяйся к «Коду найма» — и пусть твой следующий оффер станет началом новой жизни!

Лаконичная шпора из 12 базовых команд GIT на русском 🙂 Кратко, по делу, без лишнего — самые нужные команды для повседневной
Лаконичная шпора из 12 базовых команд GIT на русском 🙂 Кратко, по делу, без лишнего — самые нужные команды для повседневной работы с репозиторием. А если нужна более расширенная подборка — загляните в наш прошлый чит-лист. Возможно даже откроете для себя что-то новое

Краткий гайд про хэши для новичков Хеширование — это фундаментальная концепция в Computer Science. В основе лежит идея односторонней функции, которая принимает на вход данные произвольного размера и возвращает выход фиксированной длины. Эта функция преобразует любые данные — будь то строка, число или файл — в уникальное значение фиксированной длины, называемое хешем. Это значение представляет собой последовательность битов, которая служит своего рода «отпечатком пальца» для исходных данных:

import hashlib

hash = hashlib.sha256()
hash.update(b'hello')
hashed_string = hash.hexdigest()

print(hashed_string) # 2cf24d......8b9824
Зачем это нужно — Проверка «девственности» передаваемых данных: при передаче данных по сети важно убедиться, что они не были изменены. Хеширование позволяет создать контрольную сумму, которая может быть использована для проверки целостности данных; — Хранение паролей: вместо хранения паролей в открытом виде их точно стоит обезопасить хешами; — Хеширование используется для создания цифровых подписей, которые подтверждают подлинность и целостность сообщений или документов. Многие из вас сталкивались с SSH-ключами для Git-репозиториев, причем с разными алгоритмами: MD5, SHA256. В отдельном посте поговорим об алгоритмах шифрования вроде RSA. Когда мы создаем пару ключей (приватный + публичный), например с помощью:

ssh-keygen -t rsa -b 4096
То получаем приватный ключ, что хранится на локальной машине и используется для аутентификации. Также мы получаем публичный ключ и загружаем его на GitHub. Он не использует хеши для хранения или проверки самих публичных ключей, они проверяются напрямую, при помощи криптографических протоколов. Но вот где вступает в дело хеш: GitHub (и SSH-клиенты в целом) используют хеши не для безопасности, а для удобной идентификации. Когда мы смотрим отпечаток ключа, например:

ssh-keygen -lf ~/.ssh/id_rsa.pub
То получаем:
2048 SHA256:2f3b7A5Nk...xyz username@host (RSA)
Это и есть отпечаток ключа (fingerprint) — хеш публичного ключа. Он используется для подтверждения подлинности ключа. #основы @zen_of_python

FlareSolverr | Обходим турникет Cloudflare Фактически эта библиотека обеспечивает вас прокси-сервером для обхода антибот-защиты. Когда приходит запрос, она использует Selenium с undetected-chromedriver для открытия вкладки Chrome. URL с параметрами пользователя открывается, задача Cloudflare решается (или истекает время ожидания). Посмотрим, сколько времени у CF уйдет на «компенсацию» такого «эксплойта». Цена: бесплатно Репозиторий проекта #инструмент @zen_of_python

Repost from IT Юмор
А если ты путешествуешь во времени и прилетел в ДРУГОЙ ЧАСОВОЙ ПОЯС??? 😎 — ненавижу их (часовые пояса) 😈 — ничего сложно в
А если ты путешествуешь во времени и прилетел в ДРУГОЙ ЧАСОВОЙ ПОЯС??? 😎 — ненавижу их (часовые пояса) 😈 — ничего сложно в них нет 💯 — мне индифферентно @ithumor