What’s new in Python 3.14
Python 3.14 - это последняя стабильная версия языка программирования Python, содержащая совокупность изменений в самом языке, его реализации и стандартной библиотеке. Самые значительные изменения включают шаблонные строковые литералы, отложенное вычисление аннотаций и поддержку суб-интерпретаторов в стандартной библиотеке.
Улучшения:
- PEP 649 и PEP 749: Отложенное вычисление аннотаций
- PEP 734: Множественные интерпретаторы в стандартной библиотеке
- PEP 750: Шаблонные строки
- PEP 758: Разрешение использования выражений except и except* без скобок
- PEP 765: Управление потоком выполнения в блоках finally
- PEP 768: Безопасный внешний интерфейс отладчика для CPython
- Новый тип интерпретатора
- Улучшения режима свободных потоков (free-threaded mode)
- Улучшенные сообщения об ошибках
- Инкрементальная сборка мусора
PEP 649 & 749: Отложенное вычисление аннотаций
Аннотации больше не вычисляются при создании. Вместо этого они сохраняются в специальных функциях и вычисляются только при необходимости.
PEP 734: Множественные интерпретаторы
Новый модуль concurrent.interpreters позволяет запускать несколько изолированных интерпретаторов в одном процессе.
Преимущества:
- Новая модель конкурентности
- Истинная многопоточность без GIL
- Эффективнее multiprocessing
PEP 750: Шаблонные строки
Новый префикс t для шаблонных строк вместо немедленного форматирования.
PEP 768: Безопасный интерфейс отладки
Нулевые накладные расходы для подключения отладчиков к работающим процессам.
Новый тип интерпретатора
Интерпретатор с хвостовыми вызовами между функциями opcode вместо большого switch-блока. Ускорение 3-5% на тестах pyperformance.
Улучшения свободнопоточного режима
- Завершена реализация PEP 703
- Включен специализирующий адаптивный интерпретатор
- Штраф производительности снижен до 5-10%
Подсказки по опечаткам
Улучшенные диагностические сообщения
- Конкретные ошибки для elif после else
- Лучшие сообщения для несовместимых префиксов строк
- Улучшенные сообщения для нехэшируемых типов
PEP 784: Поддержка Zstandard
Новый модуль compression.zstd для эффективного сжатия.
Улучшения asyncio
Новые CLI команды для интроспекции:
- `python -m asyncio ps PID` - информация о задачах
- `python -m asyncio pstree PID` - дерево вызовов
Больше в моем телеграмм канале.