uk
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 953 підписників, посідаючи 6 786 місце в категорії Технології та додатки та 34 781 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 18 953 підписників.

За останніми даними від 27 серпня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -157, а за останні 24 години на 7, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 12.56%. Протягом перших 24 годин після публікації контент зазвичай збирає 6.30% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 2 381 переглядів. Протягом першої доби публікація в середньому набирає 1 195 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 5.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як github, rust, pip, api, install.

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

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

Завдяки високій частоті оновлень (останні дані отримано 28 серпня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

18 953
Підписники
+724 години
-317 днів
-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