Python 3.14 взрывает мозг: t-строки, мгновенный разгон и свежие фишки, которые нельзя пропустить!

Логотип Python на размытом фоне кода, с надписью Python ниже.

Python 3.14 уже вышел и принес с собой целый ворох изменений: улучшения самой сути языка, серьёзные апгрейды интерпретатора, новые возможности в стандартной библиотеке. Самые заметные изюминки — template string literals (t-строки), отложенная обработка аннотаций и официальная поддержка субинтерпретаторов прямо «из коробки».

Теперь в Python есть t-строки — template strings, которые выглядят почти как всем привычные f-строки (просто вместо f теперь используем t, например: t'Господин {name}'). В отличие от f-строк, t-строка возвращает объект Template, который позволяет разделять статическую и динамическую часть текста прямо во время выполнения. Это действительно спасение для безопасности работы с внешними данными — например, для защиты от XSS в HTML или при использовании SQL-запросов.

Принцип работы аннотаций типов (: str в аргументах функций) полностью изменился: теперь аннотации вычисляются только тогда, когда это действительно нужно, с помощью отложенной (deferred) оценки. Больше не придется оборачивать аннотации в строки, чтобы избежать ошибок вроде NameError, если имя появляется позже в коде.

Лично для меня самое крутое — это новые, понятные и подробные сообщения об ошибках. Теперь если случайно написать «whille» вместо «while», Python прямо подскажет правильное ключевое слово. Даже такие tricky моменты, как elif сразу после else, теперь разбираются с наглядными подсказками. Такие улучшения экономят и нервы, и время на отладке!

Одна из главных целей релиза — сделать Python быстрее и раскрыть потенциал современных многопроцессорных систем. Если работаете с серьезными вычислениями, теперь можно смело использовать free-threaded сборку Python, которая вышла из стадии эксперимента. При этом в однопоточном режиме производительность практически не страдает (замедление всего на 5–10%) — это реальный прорыв! Задача — максимально загрузить все ядра процессора и наконец-то уйти от ограничений GIL.

Еще одно важное новшество — мощная возможность, раньше доступная только через C-API, теперь есть и в стандартной библиотеке: модуль concurrent.interpreters. Изоляция как у процессов и скорость потоков теперь для всех! Модуль облегчил жизнь тем, кто использует современные модели параллелизма, например, акторную (actor model) — ваша параллельная разработка станет проще и стабильнее. Небольшие ограничения пока остаются — например, запуск интерпретатора требует чуть больше времени, но разработчики продолжают всё ускорять.

В комплекте теперь и новейший модуль для работы с форматом Zstandard (compression.zstd). Этот алгоритм стал хитом за счет космической скорости и эффективности, а пользоваться новым модулем так же удобно, как lzma или bz2.

Тем, кто борется с отладкой асинхронного кода, подогнали новый инструмент: теперь прямо из командной строки можно инспектировать асинхронные процессы. Через python -m asyncio ps PID видно все выполняющиеся задачи, а pstree красиво покажет дерево вызовов. Теперь легко вычислить, где именно тормозит код и как устроены ваши корутины.

Скачать свежий Python можно на официальном сайте или на GitHub.

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Премиум подписка — это доступ к эксклюзивным материалам, чтение канала без рекламы, возможность предлагать темы для статей и даже заказывать индивидуальные обзоры/исследования по своим запросам!

Подробнее о том, какие преимущества вы получите с премиум подпиской, можно узнать здесь

Также подписывайтесь на нас в:

Алекс Бежбакин
Оцените автора
Добавить комментарий