ar
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) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 19 291 مشتركاً، محتلاً المرتبة 6 987 في فئة التكنولوجيات والتطبيقات والمرتبة 35 120 في منطقة روسيا.

📊 مؤشرات الجمهور والحراك

منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 19 291 مشتركاً.

بحسب آخر البيانات بتاريخ 06 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 37، وفي آخر 24 ساعة بمقدار -4، مع بقاء الوصول العام مرتفعاً.

  • حالة التحقق: غير موثّقة
  • معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 12.72‎%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 5.70‎% من ردود الفعل نسبةً إلى إجمالي المشتركين.
  • وصول المنشورات: يحصل كل منشور على متوسط 2 453 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 099 مشاهدة.
  • التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 9.
  • الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل github, rust, pip, api, install.

📝 الوصف وسياسة المحتوى

يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 08 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.

19 291
المشتركون
-424 ساعات
+297 أيام
+3730 أيام
أرشيف المشاركات
79 рублей в месяц за Ubuntu 1 Гб RAM, 8 Гб SSD, 1 ядро, публичный IP-адрес. Аптайм весьма высокий. А вы где берете минимальны
79 рублей в месяц за Ubuntu 1 Гб RAM, 8 Гб SSD, 1 ядро, публичный IP-адрес. Аптайм весьма высокий. А вы где берете минимальные сервера? Поделитесь в комментариях. #обсуждение @zen_of_python

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

По просьбе подписчика Вопрос задает подписчик Лёша Трошин: «Расскажите как правильно работать с аргументами функции. Если в приложении например есть КОНСТАНТА то нужно ли ее передавать в функцию или же достаточно просто вызвать из глобальной области? Кажется это называется «чистота функции», расскажите про это пожалуйста. И может рекомендации по именованию аргументов внутри - передали аргумент в функцию, внутри функции имя аргумента такое же с суффиксом делать?» От админа: сначала расскажем про (не)чистые функции, затем вернемся к вопросу про константы. Про рекомендации к именованию в разберем в отдельном посте. Есть два важных подхода к проектированию: «чистые» и «нечистые» функции. Это способ описать её взаимодействие с окружающими ее потенциальными объектами. Чистые функции не имеют «побочных эффектов» и всегда возвращают одинаковый результат для одних и тех же входных данных. Их можно свободно вызывать в любой среде, зная, что они не повлияют на состояние программы за пределами своей области. Они изолированы от остального кода. Пример: a = 1 b = 2 def add(a, b): return a + b add(a, b) Эта функция берет два аргумента и возвращает их сумму. Результат зависит только от входных данных, и add() не изменяет ничего вне своей области. Нечистые функции могут изменять состояние программы (то есть объектов в ней) или иметь побочные эффекты, такие как модификация глобальных переменных, вывод данных в консоль или работа с файлами. Предсказать результат программы с такой «участницей» порой бывает очень трудно, и потому в учебниках часто рекомендуют избегать таких функций в первые годы программирования. Пример: def append_element(lst, element):   lst.append(element) my_list = [1, 2, 3] append_element(my_list, 4) print(my_list) # [1, 2, 3, 4] В этом примере функция append_element() изменяет глобальную переменную my_list. Каждый раз при вызове функции, состояние программы (то есть списка) изменяется. Идеальная программа должна сочетать в себе как можно больше чистых функций для большей предсказуемости, в то время как нечистые функции следует использовать только при необходимости взаимодействия с внешним миром. Теперь к вопросу про константы (если верно понимаю вопрос). В этой теме критически важно помнить про изменяемые и неизменяемые объекты, поскольку это влияет на их способность меняться под действием «грязных» функций: Изменяемые объекты — списки, словари, множества, байтовые массивы. Неизменяемые объекты — числа, строки, кортежи, фиксированные множества. В первом примере мы возьмем переменные a и b, равные 1 и 2 соответственно, и отправить аргументами add(): a = 1 b = 2 def add(a, b): a += 1 return a + b print(add(a, b)) # 4 print(a) # 1 Намеренно слегка модифицируем add() и добавим увеличение a на единицу (a += 1), чтобы вы могли сравнить работу «чистой» и «грязной» функций. В локальной области видимости add() фактически создаются другие аргументы a и b. Поэтому при вызове a вне функции мы получим исходное ее значение — единицу. Если теперь сделать add() «грязной», то таким образом: a = 1 b = 2 def add(): global a # Указываем, что будем использовать глобальную переменную a a += 1 # Изменяем значение глобальной переменной return a + b print(add()) # Вывод: 4 print(a) # Теперь вывод: 2, так как a была изменена Обратите внимание, что в аргументы в скобки add() при объявлении функции теперь не подаются. Если вызывать из глобальной функции a, то она фактически больше не является константой (становится переменной). #основы @zen_of_python

По просьбе подписчика Вопрос задает подписчик Лёша Трошин: «Расскажите как правильно работать с аргументами функции. Если в приложении например есть КОНСТАНТА то нужно ли ее передавать в функцию или же достаточно просто вызвать из глобальной области? Кажется это называется «чистота функции», расскажите про это пожалуйста. И может рекомендации по именованию аргументов внутри - передали аргумент в функцию, внутри функции имя аргумента такое же с суффиксом делать?» От админа: сначала расскажем про (не)чистые функции, затем вернемся к вопросу про константы. Есть два важных подхода к проектированию: «чистые» и «нечистые» функции. Это способ описать её взаимодействие с окружающими ее потенциальными объектами. Чистые функции не имеют «побочных эффектов» и всегда возвращают одинаковый результат для одних и тех же входных данных. Их можно свободно вызывать в любой среде, зная, что они не повлияют на состояние программы за пределами своей области. Они изолированы от остального кода. Пример:

a = 1
b = 2

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

add(a, b)
Эта функция берет два аргумента и возвращает их сумму. Результат зависит только от входных данных, и add() не изменяет ничего вне своей области. Нечистые функции могут изменять состояние программы (то есть объектов в ней) или иметь побочные эффекты, такие как модификация глобальных переменных, вывод данных в консоль или работа с файлами. Предсказать результат программы с такой «участницей» порой бывает очень трудно, и потому в учебниках часто рекомендуют избегать таких функций в первые годы программирования. Пример:

def append_element(lst, element):
  lst.append(element)

my_list = [1, 2, 3]
append_element(my_list, 4)
print(my_list) # [1, 2, 3, 4]
В этом примере функция append_element() изменяет глобальную переменную my_list. Каждый раз при вызове функции, состояние программы (то есть списка) изменяется. Идеальная программа должна сочетать в себе как можно больше чистых функций для большей предсказуемости, в то время как нечистые функции следует использовать только при необходимости взаимодействия с внешним миром. Теперь к вопросу про константы (если верно понимаю вопрос). В этой теме критически важно помнить про изменяемые и неизменяемые объекты, поскольку это влияет на их способность меняться под действием «грязных» функций: Изменяемые объекты — списки, словари, множества, байтовые массивы. Неизменяемые объекты — числа, строки, кортежи, фиксированные множества. В первом примере мы возьмем переменные a и b, равные 1 и 2 соответственно, и отправить аргументами add():

a = 1
b = 2

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


print(add(a, b)) # 4
print(a) # 1
Намеренно слегка модифицируем add() и добавим увеличение a на единицу (a += 1), чтобы вы могли сравнить работу «чистой» и «грязной» функций. В локальной области видимости add() фактически создаются другие аргументы a и b. Поэтому при вызове a вне функции мы получим исходное ее значение — единицу. Если теперь сделать add() «грязной», то таким образом:

a = 1
b = 2

def add(): 
    global a  # Указываем, что будем использовать глобальную переменную a
    a += 1    # Изменяем значение глобальной переменной
    return a + b


print(add())  # Вывод: 4
print(a)      # Теперь вывод: 2, так как a была изменена
Обратите внимание, что в аргументы в скобки add() при объявлении функции теперь не подаются. Если вызывать из глобальной функции a, то она фактически больше не является константой (становится переменной). Вы можете использовать суффиксы в именах аргументов (например, _copy или _mod) или именовать аргументы так, чтобы они подсказали, что это копии или измененные версии переменных. Это неформальная практика, так как сама по себе особая конвенция об именовании аргументов для «чистых» и «грязных» функций не установлена в литературе, но она полезна для повседневного кодирования, чтобы избегать побочных эффектов и путаницы. #основы @zen_of_python

Python 1.0.0 вышел 31 год назад: с чего всё начиналось Взгляните, как отличался язык 1.0.0 от сегодняшней «тройки»: много вод
Python 1.0.0 вышел 31 год назад: с чего всё начиналось Взгляните, как отличался язык 1.0.0 от сегодняшней «тройки»: много воды утекло, но даже тогда главная фича была та же — простой синтаксис. Сегодня язык возглавляет рейтинг TIOBE самых популярных ЯП. #факт @zen_of_python

По просьбе подписчика Вопрос от подписчика @andrul1kk: «Не совсем понимаю разницу между yield и return». Надеюсь, с английски
По просьбе подписчика Вопрос от подписчика @andrul1kk: «Не совсем понимаю разницу между yield и return». Надеюсь, с английским у вас все в порядке, ибо короткое и действительно понятное видео про разницу между операторами есть в этом трехминутном видео. Непросто понять и легко забыть (если не используешь) — yield, или оператор генераторной функции. @zen_of_python

1. Создание генератора:

G = gen()
В этой строке создается объект генератора G, но код внутри функции gen() не начинает выполняться, пока не будет вызван next(G). 2. Первый вызов next(G):

print(next(G)) # 0
Когда вы вызываете next(G) в первый раз, генератор начинает выполнение с начала функции gen(). Внутри функции запускается цикл for и выполняется первая итерация, где i становится равным 0. Затем происходит yield i, что означает, что значение 0 возвращается, и генератор приостанавливается. Значение 0 выводится на экран. 3. Второй вызов next(G):

print(next(G))  # None 1
Теперь, когда вы вызываете next(G) во второй раз, генератор продолжает выполнение с той точки, где он был приостановлен (после yield). В этот момент выполнение доходит до X = yield i, и так как вызывается next(G) без передачи аргумента, X будет установлено в значение None. Затем срабатывает print(X), и выводится None. Затем генератор продолжает выполнение, и значение X становится равным 1.

Что выведет код?
Anonymous voting

#ловушка
#ловушка

🍾 Разыскиваются авторы статей про IT Редакция tproger ищет авторов, которые разбираются в разных технологиях — от фронтенда
🍾 Разыскиваются авторы статей про IT Редакция tproger ищет авторов, которые разбираются в разных технологиях — от фронтенда до devops. Важно писать понятно и с пользой для читателей. Мы поможем с редактированием, оплатим работу и продвинем ваши статьи на большую it-аудиторию. Если у вас есть опыт и желание писать для разработчиков и программистов, заполняйте анкету и присоединяйтесь к tproger: https://forms.gle/nGwi92sepAqGuE1U9 #tproger

Вопрос подписчика Задает @Evgen_Lapot: «Всех приветствую, не совсем новичок, но и не спец. Перейду к вопросу. Как сделать код
Вопрос подписчика Задает @Evgen_Lapot: «Всех приветствую, не совсем новичок, но и не спец. Перейду к вопросу. Как сделать код более безопасным, кроме того, чтобы использовать переменные окружения». @zen_of_python

fuzzywuzzy | Нечеткий поиск Один энтузиаст переводит статьи с RealPython, и на сей раз хорошо получилось у него про FuzzyWuzz
fuzzywuzzy | Нечеткий поиск Один энтузиаст переводит статьи с RealPython, и на сей раз хорошо получилось у него про FuzzyWuzzy — алгоритм нечеткого поиска, который позволяет сравнить похожие, но не полностью совпадающие строки. Лаконично и очень понятно про Расстояние Левенштейна и применение библиотеки. #инструмент @zen_of_python

textual | Конкурент Tkinter Еще один способ создать свое приложение на Python. Этот фреймворк — коллекция виджетов (кнопки, дропдауны и проч.), которым можно задавать любой функционал, чтобы потом превратить в Standalone-приложение. Цена: бесплатно Репозиторий проекта #инструмент @zen_of_python

Big Data в 2025: Как изменились технологии работы с данными и что нас ждет дальше? В современном мире большие данные становят
Big Data в 2025: Как изменились технологии работы с данными и что нас ждет дальше? В современном мире большие данные становятся ключевым инструментом для глубокой аналитики и стратегического планирования. В Tproger обсудили 5 главных решений в области Big Data, которые помогут в развитии вашего проекта. Статья довольно хардкорная: в ней и про Apache Kafka, и про Snowflake, и про Apache Spark.

Основы работы с массивами и списками: что нужно знать каждому Если вы хотите глубже понять, как работать с массивами и списка
Основы работы с массивами и списками: что нужно знать каждому Если вы хотите глубже понять, как работать с массивами и списками в программировании, в статье на Tproger найдёте подробный гайд по основам этих структур данных, их ключевым различиям и применению. Авторы показали, как выбирать между массивами и списками в зависимости от задачи, и показади примеры кода для лучшего понимания. @prog_tools

Придумайте подпись к фото, но так, чтобы это относилось к языку программирования. Победитель прошлого интерактива — @Ads_2s.
Придумайте подпись к фото, но так, чтобы это относилось к языку программирования. Победитель прошлого интерактива@Ads_2s. #кек

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

Что хотят пользователи Python На официальном сайте Python тоже есть форум, и там можно посмотреть предложения пользователей п
Что хотят пользователи Python На официальном сайте Python тоже есть форум, и там можно посмотреть предложения пользователей по улучшению языка: — сделать так, чтобы Z парсился при использовании datetime.fromisoformat(); — заставить str.replace() принимать списки; — копировать словарь, но без некоторых ключей и многое другое. Пускай даже не в каждом таком треде вам будет что добавить, но перечень хотелок сообщества сам по себе — очень психотерапевтическая штука. @zen_of_python