Вышла новая версия Python: что изменилось?
Python 3.11.0 вышла в релиз — как утверждают создатели, она более стабильная, быстрая и с множеством новых функций и оптимизаций.
Что нового
Есть ряд важных общих изменений языка:
- в новой версии включены подробные местоположения ошибок в трассировках — теперь некоторые сообщения об ошибках Python станут более понятными;
- появились группы исключений и синтаксис except*;
- можно добавить модуль tomllib в стандартную библиотеку для синтаксического анализа TOML;
- введены группы задач в asyncio;
- атомарная группировка ( (?>…)) и притяжательные квантификаторы ( *+, ++, ?+, {m,n}+) теперь поддерживаются в регулярных выражениях;
- Python 3.11 на 10-60% быстрее, чем Python 3.10 — среднем фиксируется ускорение в 1,22 раза на стандартном наборе тестов. Но, как отметили в статье The Register, он по-прежнему отстает от C, C++ или Rust;
- добавлена встроенная поддержка WebAssembly, так что может появиться большее количество инструментов, таких как Pyodide, который позволяет коду Python выполняться как двоичный файл в среде JavaScript браузера.
Python, иллюстрация
Кроме того, в выпуске есть множество других заслуживающих внимания новинок, например, PEP 673 (самостоятельный тип) и PEP 675 (произвольный тип литеральной строки).
Еще исправлен ряд ошибок и сбоев в ядре и встроенных модулях. В библиотеке ускорена работа семаформа и исправлен флаг для использования границы CONFORM. Ранее разработчики объявили устаревшим asyncio.Task.cancel(“message”) и планировали выкинуть его из библиотеки, но все же решили оставить.
Также есть несколько важных изменений в сфере безопасности: исправлено умножение списка на целое число, а в Linux многопроцессорный модуль возвращается к использованию сокетов домена unix, поддерживаемых файловой системой, для связи с процессом forkserver (вместо пространства имен абстрактных сокетов Linux). Затрагивается только код, который использует метод запуска «forkserver».
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: