Заметки о выпуске Python 3.14
Дата выпуска: 7 октября 2025
Python 3.14 — стабильный релиз Python, содержащий значительные изменения в языке, стандартной библиотеке и реализации CPython.
Что нового в Python 3.14
Улучшение производительности
- Новый тип интерпретатора (экспериментальный), направленный на ускорение выполнения байткода.
- Продолжение оптимизаций CPython (включая улучшения GC и внутренних структур).
- Подготовка инфраструктуры для JIT и дальнейших оптимизаций.
Языковые изменения
-
PEP 649 / PEP 749: Отложенная (lazy) вычисляемость аннотаций:
- Аннотации больше не вычисляются сразу.
- Улучшается производительность и удобство работы с типами.
- Добавлен модуль
annotationlibдля работы с аннотациями. :contentReference[oaicite:0]{index=0}
-
PEP 750: Template string literals (t-strings):
- Новый тип строк, похожий на f-строки.
- Позволяет реализовывать пользовательскую обработку строк. :contentReference[oaicite:1]{index=1}
-
Улучшенные сообщения об ошибках и диагностика.
Параллелизм и выполнение
-
PEP 779: Поддержка free-threaded Python (экспериментально):
- Возможность работы без GIL в отдельных конфигурациях.
- Важный шаг к реальному параллелизму. :contentReference[oaicite:2]{index=2}
-
PEP 734: Поддержка нескольких интерпретаторов в стандартной библиотеке:
- Улучшенная изоляция и параллельное выполнение. :contentReference[oaicite:3]{index=3}
Стандартная библиотека
-
Новый модуль
compression.zstd(PEP 784):- Поддержка алгоритма сжатия Zstandard. :contentReference[oaicite:4]{index=4}
-
Улучшения
asyncio(интроспекция и отладка). -
Подсветка синтаксиса в REPL.
-
Улучшения удобства CLI-инструментов стандартной библиотеки.
Внутренние изменения и C API
- Изменения в ограниченном C API (инкапсуляция внутренних структур).
- Удаление устаревших API и макросов.
- Новый API конфигурации и улучшения безопасности сборки.
Поведение и совместимость
- Инкрементальный сборщик мусора (GC).
- Изменения поведения
multiprocessing(forkserver по умолчанию на Unix). - Изменения в работе аннотаций могут повлиять на код, использующий внутренние детали. :contentReference[oaicite:5]{index=5}
Переход на 3.14
Переход с Python 3.13 в большинстве случаев проходит без проблем, однако стоит учитывать:
- Возможные изменения поведения аннотаций.
- Необходимость пересборки бинарных расширений.
- Проверку кода, использующего внутренние API.