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

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

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

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

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

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

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

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

18 951
Підписники
-424 години
-297 днів
-15730 день
Архів дописів
Вышел Python 3.14.0a4 Среди фичей: — «Ленивая» интепретация аннотаций (на скриншоте, см. документацию); — API языка C вместо
Вышел Python 3.14.0a4 Среди фичей: — «Ленивая» интепретация аннотаций (на скриншоте, см. документацию); — API языка C вместо C-подобных методов и функций; — Депрекатнули PGP-подписи и проч. Это ранняя версия ЯП для тестирования разработчиками. Release Note #факт @zen_of_python

PGQueuer | Автоматизация для PostgreSQL Это минималистичная библиотека на Python позволяет создавать воркфлоу (потоки задач)
PGQueuer | Автоматизация для PostgreSQL Это минималистичная библиотека на Python позволяет создавать воркфлоу (потоки задач) по расписанию с использованием механизмов LISTEN / NOTIFY и FOR UPDATE SKIP LOCKED PostgreSQL, а также упрощать обработку больших объемов данных. #инструмент Репозиторий проекта @zen_of_python

Как читать чужой код и понимать его Как думаете, что делает этот код?

from tests.test_catalog import run_basic_tests 

if __name__ == "__main__":
    run_basic_tests()
Ответ не такой, как вы думаете, смотрите статью. #основы @zen_of_python

Подборка лучших вымышленных обложек в стиле o'Reilly, описывающих жизнь типичного Python-разработчика. Полный список книг зде
+8
Подборка лучших вымышленных обложек в стиле o'Reilly, описывающих жизнь типичного Python-разработчика. Полный список книг здесь.

Максимальная жиза. @neuro_channel
Максимальная жиза. @neuro_channel

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

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