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 957 名订阅者,在 技术与应用 类别中位列第 6 786,并在 俄罗斯 地区排名第 34 781

📊 受众指标与增长动态

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

根据 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 957
订阅者
+724 小时
-317
-15730
帖子存档
​​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

Google Gemini разочаровался в себе и... предложил заплатить разработчику за баг Во время переписки ИИ от Google честно призна
Google Gemini разочаровался в себе и... предложил заплатить разработчику за баг Во время переписки ИИ от Google честно признался: «Мои знания устарели, я только мешаю». При этом он предложил пользователю оплатить услуги настоящего программиста для решения проблем. Причиной стали вечные конфликты Vite, Tailwind и PostCSS, в которых Gemini окончательно запутался. Вместо решения — депрессия и предложение нанять «кожаного программиста». Ну что, работяги — можем спать спокойно? Никакой ИИ нас пока что не заменит @your_tech

Придумайте подпись к видео так, чтобы это относилось к Python-разработке #обсуждение @zen_of_python

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

Зацените как похорошели транскрибации при Войси! Вайб-кодинг вайб-кодингом, но как же не хватает простого человеческого «расш
Зацените как похорошели транскрибации при Войси! Вайб-кодинг вайб-кодингом, но как же не хватает простого человеческого «расшифруй мне созвон, только качественно!!». С этим вам поможет Войси. 🤯Этот ИИ-агент может с легкостью сделать из созвона текст, подвести итоги встречи и составить саммари. Войси переводит с 54 языков на русский без всяких артефактов и составляет текст в аккуратные абзацы с выделенными тезисами. Самое удобное, что далеко ходить не надо — всё это делается прямо в «телеге». Экономьте своё время, превращая часы в минуты. 🔥А новичкам доступны 1,5 часа бесплатной транскрибации. Забирайте: https://tprg.ru/9xQo

​​job-hunter | Для цифровых кочевников Один энтузиаст создал трекер вакансий на удаленке, который ищет среди работных сайтов вроде GitHub, WorkingNomads и Remote.io подходящие объявления и высылает находки Telegram-ботом. Есть фильтрация по тегам. Если вам хочется поупражняться — форкайте и дописывайте под HH. #пет-проект @zen_of_python

opendota2-vision | Ищем «смурфов» в Dota Энтузиаст запилил проект на pytesseract, pillow, который находит в Dota2 «смурфов» —
opendota2-vision | Ищем «смурфов» в Dota Энтузиаст запилил проект на pytesseract, pillow, который находит в Dota2 «смурфов» — опытных игроков, которые создают новый аккаунт с низким рейтингом, чтобы играть против менее сильных соперников. Их цель — играть на «низком» уровне, где он явно сильнее большинства игроков, выигрывать легко и, как правило, доминировать в матчах. #пет_проект @zen_of_python

Переменные окружения: введение Переменные окружения — это данные, хранящиеся вне программы, которые могут влиять на её поведение. Например, ключ API или пароли, указанные в коде, будут доступны только при выполнении программы — и не попадут в публичный репозиторий. Такое хранение существенно повышает безопасность «переносимого» проекта. Встроенный модуль os Простейший способ обратиться к средовой переменной в коде — os.environ:

import os
print(os.environ) # Вывести все переменные
val = os.environ['USER'] # Бросит KeyError, если нет
val = os.getenv('USER')
.env и python-dotenv Общепринятая практика — хранить конфигурацию в файле .env и загружать переменные при старте скрипта:

# .env
API_KEY=abcdef
DB_URL=postgres://...

from dotenv import load_dotenv
import os

load_dotenv()  # загрузка из .env
api_key = os.getenv('API_KEY')
Это удобно, упорядочивает конфигурацию и изолирует окружение от кода. Кстати, установка переменных внутри кода актуальна только для текущего процесса и его подпроцессов. После завершения скрипта изменения теряются и не влияют на внешнюю систему. Без .env Порой для простых проектов проще вообще не создавать файлов .env, можно экспортировать в виртуальное окружение переменную сразу. Как это делается в Unix или macOS:

export API_KEY="abcdef"
export API_SECRET="12345"
В Windows CMD:

set API_KEY=abcdef
set API_SECRET=12345
load_dotenv Еще один удобный способ «вчитаться» во все средовые переменные в коде — функция load_dotenv(). Для нее потребуется установить библиотеку: pip install python-dotenv. И теперь функция считает все переменные, каким бы способом они ни были объявлены:

from dotenv import load_dotenv
load_dotenv()
#основы @zen_of_python

Как динамически изменять исходный код функций В статье «Wicked Python Trickery» Эрик Ма делится необычным и мощным методом динамической модификации исходного кода функций во время выполнения программы. Что за трюк? В Python каждая функция имеет атрибут .__code__, который представляет собой объект байткода. Используя функции compile() и exec(), можно создать новый исходный код функции, скомпилировать его в байткод и выполнить в нужном пространстве имён. Это позволяет заменить поведение функции без её явного переопределения:

def something():
    raise NotImplementedError()

new_code = """
def something(x: int) -> int:
    return x * 2
"""

compiled = compile(new_code, "<magic>", "exec")
ns = {}
exec(compiled, {}, ns)

something_new = ns["something"]
print(something_new(21))  # Выведет 42
Здесь мы создаём новый исходный код функции something, компилируем его и выполняем в пустом пространстве имён. Затем извлекаем новую функцию из этого пространства и вызываем её. Практическое применение Эрик использовал этот метод для создания бота, который выбирает инструменты для выполнения, но не выполняет их сам. Вместо этого он генерирует Python-функции на лету, которые имеют доступ ко всем глобальным переменным текущего сеанса. Это позволяет создавать гибкие и мощные инструменты без необходимости заранее определять все возможные функции. Этот подход позволяет LLM (Large Language Model) генерировать код, который может использовать текущие данные и функции, доступные в глобальном пространстве имён. Риски безопасности Однако такой подход сопряжён с серьёзными рисками. Выполнение сгенерированного кода без должной проверки может привести к выполнению вредоносных действий, таких как удаление файлов, утечка данных или атаки на внешние сервисы. Эрик отметил, что в текущей реализации отсутствует защита от таких угроз, и планирует использовать инструменты, такие как Restricted Python, для ограничения возможностей выполняемого кода. #факт @zen_of_python

Как тестировать перенос и трансформацию данных без боли В статье на Tproger представили практичный и понятный подход к тестир
Как тестировать перенос и трансформацию данных без боли В статье на Tproger представили практичный и понятный подход к тестированию ETL-процессов с использованием Python, Pytest и фикстур. Автор — Data QA, поделилась опытом автоматизации создания и наполнения таблиц, хранением схем и данных в JSON, а также сравнением результатов до и после трансформации. Проект с минимальным стеком — pytest, allure и psycopg2. Статья будет полезна разработчикам и тестировщикам. #основы @zen_of_python

Про with with позволяет обернуть выполнение блока кода в так называемый контекстный менеджер, который автоматически управляет ресурсами. Это особенно полезно для операций, требующих явного освобождения ресурсов, таких как работа с файлами, сетевыми соединениями или базами данных:

with open('example.txt', 'r') as file:
    content = file.read()
    print(content)
В этом примере файл автоматически закроется после выхода из блока, даже если в процессе чтения произойдет исключение. Как работает? Оператор работает с объектами, реализующими протокол контекстного менеджера, то есть имеющими методы: 🔘__enter__(): выполняется при входе в блок with. Готовит ресурс и возвращает его; 🔘__exit__(): выполняется при выходе из блока. Отвечает за очистку ресурса, например, закрытие файла. Примеры использования Взаимодействие с базой данных:

import sqlite3

with sqlite3.connect('example.db') as conn:
    cursor = conn.cursor()
    cursor.execute("SELECT * FROM users")
    print(cursor.fetchall())
Соединение с базой данных будет автоматически закрыто, даже если запрос вызовет исключение. Зачем нужен with 🔘Гарантирует, что ресурсы будут освобождены после использования; 🔘Устраняет необходимость в явных блоках try / finally; 🔘Позволяет корректно обрабатывать исключения и освобождать ресурсы даже в случае ошибок; 🔘Повышение читаемости. #основы @zen_of_python

​​tabulate | pretty-printed-таблицы в CLI Библиотека сделает вывод датафрейма в консоль красивой. Поддерживает множество типов итерируемых объектов, может стилизовать вывод под GitHub, PSQL, LaTeX, Jira и проч. Самое оно для красоты в Google Colab. #инструмент @zen_of_python

Функции vs. метод в Python: разница Тем, кто в языке первый год, разница между этими объектами может показаться неочевидной, для них и написан этот лонгрид. Что такое функция? Это блок кода, который принимает входные данные (аргументы), обрабатывает их и возвращает результат. Выделяют два типа: 1️⃣ без побочных эффектов — это чисто математические функции; 2️⃣ с побочными эффектами — функции, которые взаимодействуют с чем-то вне себя, например, с файлом, списком, базой данных или терминалом. Пример чистой функции

def add(a, b):
    return a + b

print(add(2, 3))  # Всегда возвращает 5
Такая функция при одинаковых входных данных всегда возвращает один и тот же результат. Пример функции с побочными эффектами:

import random

def random_point():
    x = random.randint(0, 10)
    y = random.randint(0, 10)
    return x, y

print(random_point())  # Каждый раз возвращает разные значения
Здесь функция использует внешний модуль random, и результат может меняться при каждом вызове. Это и есть побочный эффект. Что такое метод? Это та же функция, которая принадлежит объекту класса. Пока определение запутывает, но посмотрите пример ниже. Здесь set_name — это метод, используемый только для объектов Employee:

class Employee:
    def set_name(self, first_name, last_name):
        self.first_name = first_name
        self.last_name = last_name

# Создаём объекты
emp1 = Employee()
emp2 = Employee()

# Используем метод
emp1.set_name("Alice", "Smith")
emp2.set_name("Bob", "Brown")

print(emp1.first_name, emp1.last_name)  # Alice Smith
print(emp2.first_name, emp2.last_name)  # Bob Brown
#основы @zen_of_python

​​archivey | WinRAR больше не нужен Библиотека предлагает унифицированный способ обращения с архивами .zip, .rar, .tar, .7z и другими форматами. Массовые создание и распаковка, обработка символических ссылок (symlink), управление правами доступа и паролями. #инструмент @zen_of_python

И не дай Бог, pdb (Python Debugger) #кек @zen_of_python
И не дай Бог, pdb (Python Debugger) #кек @zen_of_python

По результатам опроса Python Software Foundation, в 2025 году, доля разработчиков, использующих FastAPI, выросла с 29 до 38%.
По результатам опроса Python Software Foundation, в 2025 году, доля разработчиков, использующих FastAPI, выросла с 29 до 38%. #кек @zen_of_python