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) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 19 289 підписників, посідаючи 6 972 місце в категорії Технології та додатки та 35 079 місце у регіоні Росія.

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

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

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

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

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

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

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

19 289
Підписники
-324 години
+137 днів
+2630 день
Архів дописів
Не понимаю, как я это упустил: Microsoft раскатила расширение, которое превращает VS Code в полноценную IDE для работы с PostgreSQL, без переключений между тулзами 👍 Внутри всё, что нужно: • Визуализация схемы базы прямо в IDE. • IntelliSense с автокомплитом и подсветкой и форматированием SQL-запросов. • Запуск PostgreSQL в Docker. • Быстрое подключение к любой базе (локально, в облаке). • История запросов для быстрого повторного запуска. • Просмотр и управление объектами БД. • История запросов и запуск psql прямо из VS Code. • Интеграция с GitHub Copilot — AI пишет и объясняет SQL Поставить можно тут

​​py-pglite | PostgreSQL прямо через import Инструмент для тестов с настоящим PostgreSQL без необходимости поднимать сервер. Он запускается за пару секунд прямо из Python-кода, без Docker и лишней настройки. Полностью совместим с SQLAlchemy, Django ORM, psycopg, asyncpg и поддерживает расширения вроде pgvector. Цена: бесплатно На PyPi #инструмент @zen_of_python

pyrefly | Ну очень быстрый тайпчекер В Meta (организация признана экстремистской в РФ) релизнули инструмент для проверки типо
pyrefly | Ну очень быстрый тайпчекер В Meta (организация признана экстремистской в РФ) релизнули инструмент для проверки типов данных на базе Rust. Он аналогичен mypy, но сделано с упором на производительность. Это быстрая альтернатива mypy для больших кодовых баз. Взгляните на простой пример:

def greet(name: str) -> str:
    return "Hello, " + name

def add(a: int, b: int) -> int:
    return a + b

result = add(1, "2")  # Ошибка: "2" — это str, а не int
print(result)
Так и работают тайп-чекеры: проверяют функции, методы, классы в файлах и целых репозиториях. Для VS Code или других редакторов можно настроить команду форматирования или использовать pyrefly как pre-commit-хук. В кой-то век на бенчмарк-графике признались, что не самые первые. На PyPi #инструмент @zen_of_python

Zephyr | Действительно ВАШ умный девайс Этот питонический фреймворк поддерживает 750+ материнских плат и делает устройства умными. Пишите свою логику и деплойте на плату: создатели стремились сделать процесс проще, чем у Arduino. Цена: бесплатно Сайт проекта @prog_tools

Бу! Испугался? Не бойся...
Бу! Испугался? Не бойся...

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

Type Hinting vs. Type Checking vs. Data Validation: в чём разница? Python — это язык с динамической типизацией («тип переменной определяется во время выполнения программы»). Это даёт большую гибкость, но одновременно приводит к ошибкам. Чтобы справляться с этим, разработчики используют три инструмента: аннотации типов, проверка типов и валидация данных. У каждого из них своя цель. Type Hinting — подсказки, а не контроль Аннотации типов (Type Hinting) — это способ добавить метаинформацию о типах данных, которую Python сам по себе не использует для исполнения кода:

def create_user(first_name: str, last_name: str, age: int) -> dict:
    return {"first_name": first_name, "last_name": last_name, "age": age}
Интерпретатор, однако, игнорирует эти аннотации при исполнении. Они нужны исключительно для разработчика и инструментов анализа. Type Checking Проверка типов происходит до выполнения программы и помогает выявить несоответствия между ожидаемыми и фактическими типами, но не останавливает выполнение кода. ### Как работает: Для статической проверки используется внешний инструмент, например, MyPy

mypy your_script.py
Если передать строку вместо числа:

create_user("John", "Doe", "38")  # строка, а не int
MyPy выдаст ошибку:

error: Argument "age" to "create_user" has incompatible type "str"; expected "int"
Важное ограничение: не проверяет данные из внешних источников (например, API). Data Validation Валидация данных — это уже проверка во время исполнения программы. Она позволяет остановить программу, если входные данные не соответствуют ожиданиям:

if not isinstance(age, int):
    raise TypeError("Age must be an integer")
Ручная валидация быстро становится громоздкой. Здесь на помощь приходят библиотеки, такие как Pydantic. Pydantic использует type hints для автоматической валидации данных. Пример с использованием @validate_call:

from pydantic import validate_call

@validate_call
def create_user(first_name: str, last_name: str, age: int) -> dict:
    return {"first_name": first_name, "last_name": last_name, "age": age}
Если передать некорректный тип:

create_user("John", "Doe", "38")  # строка
Вы получите подробное сообщение об ошибке:

1 validation error for create_user
age
  Input should be a valid integer (type=type_error.integer)
#основы @zen_of_python

Основы PostgreSQL для начинающих: от установки до первых запросов PostgreSQL — одна из самых мощных и популярных СУБД. Если в
Основы PostgreSQL для начинающих: от установки до первых запросов PostgreSQL — одна из самых мощных и популярных СУБД. Если вы только начинаете разбираться с ней, у нас есть понятный гайд: как всё установить на любую ОС, создать первую базу данных и выполнить базовые SQL-запросы. Заодно разобрали ключевые плюсы этой системы. Бонусом: забирайте шпаргалку по БД и подборку игр для прокачки SQL-скиллов Сохраняйте годноту 👍

flowshow | отслеживайте задачи с графами Предоставляет декоратор @task, который превращает обычную функцию в «таску» с автоматическим сбором метаданных. Обеспечивает удобный визуальный интерфейс: после запуска main_job() можно вызвать main_job.plot() или main_job.last_run.render(), чтобы увидеть граф выполнения задач, время начала и окончания, входы и выходы, ошибки, логи и количества повторных запусков. Жизнь в условиях проектов с асинхронностью в том числе станет чуточку легче. На PyPi #инструмент @zen_of_python

​​Виды компьютерных сетей Белый хакер разложил по полочкам, какие бывают топологии систем: кольцо, шина, звезда, WLAN, WAN. Суперпонятная статья для новичков и не только: вы точно почерпнете для себя что-то новое. #основы @zen_of_python

​​great-tables | Make Tables Great Again Создатель этого репозитория напоминает нам, что у грамотной HTML-таблицы, помимо тела, есть еще (под)заголовок, футер и объединенные ячейки. Забытые возможности <table>... Цена: бесплатно Репозиторий проекта #инструмент @zen_of_python

​​PEP 734: Параллелизм без multiprocessing Запланировано добавление нового стандартного модуля concurrent.interpreters. Он будет управлять несколькими изолированными подинтерпретаторами внутри одного процесса. Каждый подинтерпретатор имеет свой собственный GIL, то есть код может действительно выполняться параллельно (в отличие от обычных потоков). Нет накладных расходов на создание отдельных процессов и межпроцессное взаимодействие. Уже сейчас доступен в виде пакета на PyPI: interpreters-pep-734, который можно использовать с Python 3.12+. #инструмент @zen_of_python 🙉 — Если лучше не видеть, как это работает

Немного безумные способы определения функций Мы привыкли определять функции с помощью ключевого слова 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 🙈 — Если не ожидал такого в канале про ЯП