Дата выпуска: 24 октября 2022 г.
Python версии 3.11
На заметку
Со списком нововведений вы можете ознакомиться на странице «Python 3.11» (англ.).

Кое-что из нового:
  • В соответствии с PEP-654 добавлена поддержка порождения и обработки групп исключений.
  • Для аннотаций типов теперь доступен тип SelfPEP-673.
  • Добавлен модуль tomllib с инструментами для разбора файлов в формате TOML.
  • Благодаря PEP-657 в трассировках теперь более конкретизировано место в строке, породившие исключение. Эта же информация теперь доступна через C API.
  • У BaseException доступен атрибут __note__, значение которого видно в трассировках.
  • В math добавлены exp2() и cbrt().
  • В operator добавлена фукнция call().
  • В регулярных выражениях теперь поддерживается атомарная группировка ((?>...)) и притяжательные количественные описатели: (*+, ++, ?+, {m,n}+).
  • Улучшения в модуле sqlite3.
  • Алгоритм сортировки Timsort заменён на Powersort.

Внимание
lib2to3 объявлен устаревшим и может не понимать код, начиная с версии +py3.10.

Внимание
Устаревний модуль binhex удалён.


Оптимизация и ускорение


  • CPython 3.11 в среднем на 25% быстрее 3.10 (GCC, Ubuntu Linux). В зависимости от сцерания работы ускорение может составлять 10-60%. Сокращено время запуска интерпретатора. Объекты фреймов теперь более легковесны и ленивы. Ожидается, что расход памяти не должен возврасти более чем на 20%.
  • Скорость форматирования строк в C-стиле при использовании %s, %r, %a теперь сравнима с со скоростью для f-строк.
  • Использование try теперь почти ничего не стоит, когда исключения не было.
  • Ускорены вызовы методов, использующих именованные аргументы.
  • Уменьшен объем памяти, занимаемый словарями, ключи в которых являются юникод-объектами.

_
Предложения по улучшению (PEP)
Номер Название Тип Состояние
594 Изъятие севших батареек из стандартной библиотеки С Фин.
624 Устранение API кодировщика Py_UNICODE С Фин.
646 Вариативные обобщенные типы С Утв.
648 Расширяемые настройки старта интерпретатора С Откл.
654 Группы исключений и except* С Утв.
655 Пометка отдельных элементов TypedDict обязательными или потенциально пропущенными С Утв.
657 Включить в трассировки детальные места ошибок С Фин.
663 Улучшение и стандартизация поведения str(), repr(), и format() для Enum И Откл.
664 График выпуска Python 3.11 И Действ.
670 Преобразовать макросы в функции в C API С Фин.
673 Тип Self С Утв.
675 Литералы произвольных строк С Утв.
677 Синтаксис для вызываемых типов С Откл.
678 Снабжение исключений примечаниями С Утв.
680 tomllib: поддержка разбора TOML в Стандартной библиотеке С Утв.
681 Трансформации классов данных С Утв.
682 Спецификатор формата для нуля со знаком С Фин.
На заметку
В разделе «События» можно узнать о надвигающихся событиях мира Python, а также поделиться своими. Если вы являетесь организатором встречи/конференции/спринта, зарегистрируйте это событие в указанном разделе, чтобы о нём узнали все желающие.