fa
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

نمایش بیشتر

📈 تحلیل کانال تلگرام Zen of Python

کانال Zen of Python (@zen_of_python) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 18 957 مشترک است و جایگاه 6 786 را در دسته فناوری و برنامه‌ها و رتبه 34 781 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 18 957 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 27 اوت, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -157 و در ۲۴ ساعت گذشته برابر 7 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 12.56% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 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