Что нового в Python 3.15
- Добавлены встроенные типы
sentinel(PEP 661),frozendict(PEP 814) и распаковка в comprehensions (PEP 798). - Python теперь использует UTF-8 как кодировку по умолчанию (PEP 686).
- Появились явные ленивые импорты для ускорения запуска (PEP 810) и файлы конфигурации запуска пакетов (PEP 829).
- Экспериментальный JIT-компилятор значительно улучшен: в среднем на 7–8% быстрее на x86-64 Linux и на 11–12% быстрее на AArch64 macOS по сравнению со стандартным интерпретатором.
- В стандартной библиотеке: пакет профилирования (PEP 799), высокочастотный статистический профайлер Tachyon и больше цвета в выводе.
- Новые возможности типизации:
TypedDictс типизированными дополнительными элементами (PEP 728), аннотирование форм типов черезTypeForm(PEP 747) и непересекающиеся базовые классы (PEP 800). - В C API: новый
PyBytesWriter(PEP 782), защита от финализации (PEP 788) и стабильный ABI для free-threaded сборок (PEP 803, 820, 793). - Официальные 64-битные сборки Windows используют tail-calling интерпретатор, а macOS-сборки включают поддержку free-threading по умолчанию.
Стоит ли обновляться на Python 3.15 сейчас
Обновление имеет смысл тем, кто хочет ускорить запуск приложений за счёт ленивых импортов или получить прирост производительности от JIT. Но JIT пока экспериментальный, а free-threading в macOS-сборках может повлиять на поведение расширений, написанных на C. Перед внедрением проверьте совместимость ваших зависимостей и C-расширений.
Отдельное предупреждение для пользователей macOS 27.0: приложения на tkinter, включая IDLE, могут зависать при открытии диалоговых окон из меню. Проблема связана с изменением в macOS 27.0 и затрагивает все текущие версии Tk. Если вы используете Tk-приложения, отложите обновление ОС до выхода исправления или протестируйте свой сценарий работы.


