20070
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL
Почему Python так популярен в 2025-м году?
Python стал культурным и технологическим феноменом, устойчиво удерживая позиции одного из самых любимых и широко используемых языков программирования. В 2025 году он занимает первое место сразу в нескольких рейтингах популярности ЯП.
Что делает Python таким популярным?
🔘Легкость старта и понятный синтаксис
Одним из главных преимуществ с момента создания остаётся его читаемость и простота — код Python часто выглядит ближе к псевдокоду, чем к «машинной» записи. Это позволяет разработчикам сосредоточиться на логике, а не на деталях синтаксиса. Для новичков это часто первый язык программирования, с которым они знакомятся, — из-за низкого порога входа. Этот «эффект знакомства» закрепляет Python как язык выбора, особенно в образовательной и научной среде.
🔘Ключевая роль в AI, ML и науке о данных
Python давно прочно обосновался в экосистеме машинного обучения, искусственного интеллекта и обработки данных. В отчёте JetBrains «The State of Python 2025» указано, что примерно 41% разработчиков используют Python специально для задач машинного обучения. Широкий набор библиотек и фреймворков: PyTorch, TensorFlow, Keras, scikit-learn, Hugging Face Transformers — все они предоставляют зрелые, постоянно развивающиеся инструменты для исследователей и продакшн-инженеров.
🔘Универсальность: от скриптов до крупных систем
Python используется в самых разнообразных задачах:
— Веб-разработка: популярные фреймворки (Django, Flask, FastAPI) позволяют строить как простые приложения, так и масштабные сервисы;
— Автоматизация и инфраструктурные скрипты: благодаря лёгкости запуска, большому выбору библиотек и встроенной поддержке многих протоколов и форматов;
— Инструменты разработки, прототипы, доказательство концепции (POC): Python часто выбирают тогда, когда нужно быстро создать рабочее решение и проверить идею;
— Научные вычисления и инженерные задачи: благодаря библиотекам как NumPy, SciPy, Sympy и др.
Такой спектр применения делает Python «языком на все случаи», что снижает риск переключения на другой язык при росте проекта.
🔘Сообщество, документация и экосистемный эффект
Невозможно недооценивать роль сообщества в успехе Python:
— Огромное количество библиотек и фреймворков, созданных сообществом, часто с открытым исходным кодом;
— Качественная документация, туториалы, обсуждения: многие проблемы уже задокументированы, многие вопросы обсуждены на форумах, в блогах и на Stack Overflow.
Эффект «чем больше пользователей — тем больше инструментов — тем больше новых пользователей»: эта положительная обратная связь укрепляет позиции языка.
🔘Совместимость, обратная совместимость и эволюция
Python исторически стремится к обратной совместимости: код, написанный на старых версиях, часто может работать на новых с минимальными правками. Это снижает «технический долг» и барьеры для обновлений. К тому же новые версии языка приносят прирост производительности и оптимизации без значительного изменения синтаксиса. В отчёте указано, что многие разработчики просто не меняют версии, потому что текущая версия «удовлетворяет все нужды» — 53%.
Тем не менее, повышение производительности и оптимизации — весомый аргумент в пользу перехода, особенно для критичных к скорости проектов.
#факт
@zen_of_python
Что такое замыкание и зачем оно нужно
Замыкания (Closures) — понятие, которое кажется сложным при первом знакомстве. Но на самом деле вы уже его скорее всего используете неосознанно, настолько это стало базой.
Представим программу, где пользователь вводит число, нажимает OK, и программа сохраняет это число в список, выводя все введённые значения:
numbers = []
def enter_number(x):
numbers.append(x)
print(numbers)
enter_number(3) # [3]
enter_number(7) # [3, 7]
enter_number(4) # v
numbers находится вне функции, то есть она глобальная. Это значит, что:numbers.
def enter_number_outer():
numbers = [] # локальная переменная
def enter_number_inner(x):
numbers.append(x)
print(numbers)
return enter_number_inner
enter_number_outer(), она создаёт свой контекст с переменной numbers и возвращает внутреннюю функцию, которая имеет к ней доступ.
enter_num = enter_number_outer()
enter_num(3) # [3]
enter_num(7) # [3, 7]
enter_num(4) # [3, 7, 4]
Внутренняя функция «замыкает» (сохраняет) значения переменных из области видимости внешней функции.
enter_number_outer() завершает выполнение, её переменные не уничтожаются, потому что они нужны внутренней функции, которая всё ещё существует. Это и есть closure — функция, которая запоминает контекст, в котором была создана.
И такой еще остановит Cursor при верстке тестов прямо в процессе
#кек
@zen_of_python
Шпаргалка vim
Симпатичная табличная подборка команд для тех, кто наконец выучил, как выйти из этого редактора.
Помимо CRUD-операций там полезное про изменение цветовой схемы, навигацию по файлу, работу с несколькими файлами в буфере.
#шпаргалка
@zen_of_python
Шпаргалка для пишущих свой API
Некоторым из нас приходится писать собственные интерфейсы, и при развитии такого приложения стоит задумываться не только об очередном методе, но и про:
— авторизацию;
— разграничение доступа на основе ролей (RBAC);
— метрики производительности;
— тестирование и прочие аспекты
В приложенной шпаргалке как раз об этом.
#обучение
@zen_of_python
Френдли фаер: наши привычки, которые медленно, но верно бьют по суставам и мышцам
Мы привыкли думать, что проблемы со спиной и суставами начинаются только от сидячки. Но есть куча мелких бытовых жестов, которые каждый день копят нагрузку и тихо разрушают тело:
— Держать телефон между ухом и плечом.
— Рюкзак или сумка всегда на одной стороне.
— Стоять, перенося вес только на одну ногу.
— Сидеть, поджимая ногу под себя.
— Скрещивать ноги за столом или закидывать одну на другую.
— Носить кроссовки без поддержки пятки и свода (особенно дешёвые тряпочные).
— Долго сидеть, положив локоть на стол и опираясь на подбородок.
— Спать всё время на одном боку в одной позе.
— Работать за ноутбуком, постоянно смотря чуть вниз.
— Часто носить тяжёлые пакеты «в одну руку».
Всё это со временем даёт защемления, перекосы и хронические боли. Так что позаботьтесь, чтобы убрать их из быта.
#суставы #советы
Нестандартные интерфейсы на Python: как вставить кнопки, как на пульте ТВ?
А что если ваш UI должен содержать кнопки нестандартной формы? Как на пульте ТВ / игровом джойстике, к примеру. Tkinter, к примеру, такое не умеет.
Один австралийский разработчик решил эту задачу, написав библиотеку GIMPy-Widget-UI. Библиотека позволяет проектировать в графическом редакторе такие нестандартные элементы и делать их интерактивными с минимальным объёмом кода.
#инструмент
@zen_of_python
Python снова № 1 в рейтинге ЯП, но...
IEEE Spectrum (популярный в США журнал для инженеров всех направлений) опубликовал рейтинг языков программирования 2025 года, и Python снова оказался на первом месте. Авторы рейтинга отмечают, что привычные способы измерять популярность перестали работать. Запросов на форумах вроде Stack Overflow — лишь 22% от прежнего уровня, ведь теперь разработчики задают вопросы напрямую ИИ. Авторы отмечают, что роль программиста меняется — важнее становятся архитектура, алгоритмы и интеграция систем, а не знание синтаксиса. При этом новым языкам всё труднее пробиваться, потому что LLM-модели тяготеют к уже распространённым инструментам.
#факт
@zen_of_python
Это что, первая конференция для лидов и менеджеров от Авито Тех?
Да! avito.tech.conf пройдёт 17 октября в Москве и онлайн.
В программе — доклады про управление командами и процессами от экспертов Авито, интерактивные зоны, где можно прочувствовать их менеджерскую культуру, практические воркшопы и море возможностей для нетворка с лидами из крупных IT-компаний.
Темы:
— лидерство и развитие до C-level;
— AI и то, как он меняет роль техруководителей и управление командами;
— адаптивность и процессы в меняющемся мире;
— люди и выстраивание эффективных отношений с командами.
Звучит как событие, которое точно стоит добавить в календарь.
Регистрируйтесь по ссылке — места ограничены.
Реклама. ООО «Авито Тех» Erid 2VtzqwgnGxD
Придумайте смешную подпись к фото, но так, чтобы это относилось к языку программирования Python.
#кек #обсуждение
@zen_of_python
Вопросы подписчиков
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте.
#обсуждение
@zen_of_python
SQLCheck | Оптимизируем запросы
Мало кто задумывается о затратности / оптимальности того или иного SQL-запроса при верстке. Скорее уж потом, когда приходят счета за облачную БД или прилетает от тимлида на код-ревью.
SQLCheck — статический анализатор, который автоматически выявляет распространённые антипаттерны (рекурсии, отсутствие первичного ключа, SELECT * и многие другие).
Доступен в РФ: да
Цена: бесплатно
@prog_tools
Что нового в Python 3.14: разбираем главные изменения
В статье на Tproger рассказали о ключевых нововведениях Python 3.14:
— t-строки (строки-шаблоны с префиксом t), которые не вычисляются сразу, а дают разработчику контроль над подстановкой значений;
— отложенные аннотации типов, которые вычисляются только при первом доступе, что решает проблемы с циклическими импортами;
— новые методы pathlib (copy, move) и другие новшества.
#факт
@zen_of_python
leapcell.io | Деплой-сервис для вашего сайта / API
Аналог Heroku, система дарит возможность задеплоить до 20 проектов на JavaScript / Python / Go / Rust с 3-мя ядрами CPU на каждый из них. Дают одну сущность PostgreSQL. Как и во многих аналогичных деплой-сервисах, коннектится с вашим GitHub-аккаунтом и пуллит оттуда. Обещают отсутствие скрытых платежей за «выдающийся» трафик.
Доступен в РФ: да
Минимальная цена: есть Freemium
@prog_tools
RunSnakeRun | Профайлер с GUI
Симпатичный и наглядный инструмент для анализа производительности Python-программ. Он показывает результаты профилирования (cProfile, hotshot и других форматов) в виде наглядной treemap-диаграммы.
На диаграмме размер прямоугольника отражает долю времени, потраченную на выполнение функции. Позволяет интерактивно «проваливаться» в вызовы и изучать вложенные функции. Отличный способ искать узкие места в проекте.
#инструмент
@zen_of_python
Вопросы подписчиков
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте.
#обсуждение
@zen_of_python
detroit | Level Up для вашего dataviz'а
Если привычные столбчатые диаграммы и пай-чарты уже не забавляют, попробуйте питоническую реализацию d3js — небезызвестного тула для построения нетривиальных графиков. Как минимум познаете еще один вид графика, это обещаем.
#инструмент
@zen_of_python
«Я перестал думать»: чем опасен ИИ и вайб-кодинг для разработчиков
Один опытный разработчик предупредил новичков:
Лёгкость, с которой ИИ решает задачи, постепенно стирает ваше понимание процесса. Возникает дофаминовая ловушка, почти как при бессмысленном скроллинге ленты соцсетей — быстрое «удовольствие» без усилий и без реального роста.
Moscow Startup Summit задал мощный импульс развитию технологического предпринимательства в России и мире.
На одной площадке выступили разработчики, фаундеры и DeepTech-инноваторы, которые уже двигают рынок инноваций вперёд.
В программе:
• Longevity: как продлить жизнь человечества и бизнеса — от биотеха до AI-решений
• Game Changers: кто драйвит DeepTech в России — реальные кейсы и новые лидеры технологий
• Unicorn Show: путь от идеи к единорогу
Дмитрий Чуйко (Whoosh),
Ивонн Лиао (Squirrel AI Learning),
Алексей Парабучев (Фонд «Московский инновационный кластер»),
Евгений Борисов (KAMA FLOW),
Данила Шапошников (Phystech Ventures),
Марсель Гумеров (AppScience)
и многие другие.
Программирование на Python с помощью GitHub Copilot и ChatGPT
Ну что ж, приехали, книга по вайб-кодингу... В этом издании от авторов Портера и Зингаро вы узнаете, как:
— настраивать ИИ-расширения для разных IDE;
— составлять ТЗ-промт, в том числе декомпозировать задачи;
— проектировать функции;
— делегировать тесты нейронкам и многое другое.
NB! Zen of Python призывает новичков осваивать базу, чтобы вы понимали, что вайбкодите.
#обучение #книга
@zen_of_python
А розовые образования вообще навайбкодили
p.s. Это из Босха
#кек
@zen_of_python
Тоже поймали себя на том, что положение Python в этой сетке устраивает?
#кек
@zen_of_python
И жнец, и на дуде игрец, знакомо?
Спасибо @fobyphill за идею мема :)
#кек
@zen_of_python
django-silk | Профилирование HTTP- и SQL-запросов
Инструмент «перехватывает» запросы и ответы, собирая детальную статистику:
— длительность выполнения;
— заголовки, тела запросов / ответов;
— таблицы-источники.
Также поддерживаются ручное профилирование блоков кода через декораторы и контекстные менеджеры, динамическое профилирование функций. Хороший способ найти узкие места производительности в вашем Django-проекте.
#инструмент
@zen_of_python
PEP 804 | Про разные зависимости в разных ОС
Новый Python Enhancement Proposal вводит механизм мэппинга внешних зависимостей для разных операционок.
Пример
Если пакет A требует внешнюю библиотеку zlib, в pyproject.toml указывают, например, dep:generic/zlib. С помощью маппингов можно получить, что на Debian это zlib1g-dev, на Fedora — zlib-devel, или в conda — zlib. Инструмент выдаст команду в зависимости от текущей экосистемы:
sudo apt install zlib1g-dev
conda install zlib
Вышел Django 6.0 (альфа-версия)
17 сентября 2025 года команда Django представила шестую версию фреймворка. Это новый крупный релиз, в котором есть несколько фундаментальных улучшений.
Поддержка новых версий Python
🔘 Django 6 официально поддерживает Python 3.12 и 3.13;
🔘 Поддержка Python 3.10 и 3.11 прекращена.
Поддержка CSP
Content Security Policy (CSP) — это механизм безопасности веб-приложений, который через специальные HTTP-заголовки ограничивает, какие скрипты, стили и ресурсы может загружать и выполнять браузер, защищая от XSS и похожих атак.
Ранее для CSP приходилось ставить сторонние пакеты. Теперь же:
🔘CSP встроен в ядро Django;
🔘Поддерживаются nonce-атрибуты для защиты inline-скриптов;
🔘Настройка выполняется через middleware и шаблонные процессоры;
Это сократит ваш requirements.txt и обеспечит больше безопасности «из коробки».
Фоновые задачи
Одно из самых ожидаемых нововведений: встроенная система фоновых задач. Новый декоратор @task позволяет превращать любую функцию в асинхронное задание.
🔘 ImmediateBackend — выполняет задачу сразу (удобно для разработки)
🔘 DummyBackend — добавляет задачу в очередь, но не исполняет (для тестирования логики)
В будущем планируются интеграции с реальными брокерами (Postgres, Redis, RabbitMQ).
Template Partials: переиспользуемые компоненты
Фронтенд-разработчикам понравится. Новый механизм partials:
🔘 Позволяет определять фрагменты шаблона через partialdef;
🔘 Поддерживает параметры и повторное использование в циклах и разных местах страницы;
🔘 Устраняет дублирование кода, упрощает дизайн-системы на Django Templates.
Это шаг в сторону компонентного подхода, знакомого пользователям React / Vue, но в экосистеме Django.
Другие изменения
🔘 В циклах теперь можно использовать forloop.length, чтобы узнать размер итерации (ранее были только forloop.counter, forloop.first, forloop.last и т.п.)
🔘 Более корректная работа с Unicode, MIME-типами и вложениями в емейлах;
🔘 Обновления для PostgreSQL и других баз данных;
🔘 Традиционные улучшения производительности и совместимости;
🔘 Альфа-релиз означает feature freeze: новые возможности добавлены, впереди тестирование и исправление багов.
#факт
@zen_of_python
typing-extensions | Машинка времени для фичей ЯП
Вечный участник рейтинга самых скачиваемых библиотек PyPi, модуль предоставляет дополнительные возможности для аннотаций типов, которые либо были добавлены в стандартный модуль typing в более поздних версиях Python, либо являются экспериментальными и ещё не включены в стандарт.
Тот случай, когда переходить на новую версию языкового пакета нет желания, а использовать новую фичу есть.
#инструмент
@zen_of_python