Заметки о выпуске Python 3.13
Дата выпуска: 7 октября 2024
Python 3.13 — стабильный релиз Python, включающий значительные изменения в интерпретаторе, системе типов и стандартной библиотеке.
Что нового в Python 3.13
Улучшение производительности
- Продолжение оптимизаций CPython и управления памятью.
- Подготовка к будущим ускорениям (включая JIT).
- Снижение потребления памяти в отдельных случаях (например, docstring’и).
Интерпретатор и выполнение
-
Новый интерактивный интерпретатор (REPL):
- Поддержка многострочного редактирования.
- История команд.
- Встроенные команды (
help,exit,quit) без вызова как функций. - Подсветка синтаксиса и цветные traceback’и по умолчанию. :contentReference[oaicite:8]{index=8}
-
Экспериментальный режим без GIL (PEP 703):
- Возможность сборки Python без глобальной блокировки интерпретатора.
- Улучшенное использование многоядерных систем. :contentReference[oaicite:9]{index=9}
-
Экспериментальный JIT-компилятор (PEP 744):
- Основа для будущих оптимизаций выполнения. :contentReference[oaicite:10]{index=10}
Язык и типизация
-
Поддержка значений по умолчанию для параметров типов.
-
Новые возможности typing:
typing.TypeIsдля уточнения типов.- Read-only поля в
TypedDict. - Аннотации устаревания.
-
Определённое поведение
locals():- Улучшает работу дебаггеров и инструментов анализа. :contentReference[oaicite:11]{index=11}
Стандартная библиотека
-
Новые возможности:
base64.z85encode()иz85decode().copy.replace()для удобного копирования объектов.dbm.sqlite3как backend по умолчанию.- CLI для модуля
random. - Новое исключение
PythonFinalizationError. :contentReference[oaicite:12]{index=12}
-
Улучшения в
argparse,os,sslи других модулях.
Платформы и совместимость
- WASI теперь поддерживается на уровне Tier 2.
- iOS и Android добавлены как Tier 3 платформы. :contentReference[oaicite:13]{index=13}
Удаления и устаревшие возможности
- Удалены устаревшие модули («dead batteries»), включая:
cgi,telnetlib,aifc,audioopи другие.
- Продолжение очистки стандартной библиотеки и C API. :contentReference[oaicite:14]{index=14}
Заметки о миграции
При переходе с Python 3.12:
- Проверьте удалённые модули и API.
- Обновите код, связанный с typing.
- Протестируйте зависимости и сторонние библиотеки.