Вийшла нова версія 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 браузера.
Крім того, у випуску є безліч інших новинок, що заслуговують на увагу, наприклад, PEP 673 (самостійний тип) і PEP 675 (довільний тип літерального рядка).
Ще виправлено ряд помилок та збоїв у ядрі та вбудованих модулях. У бібліотеці прискорено роботу семаформи та виправлено прапор для використання кордону CONFORM. Раніше розробники оголосили застарілим asyncio.Task.cancel(“message”) і планували викинути його з бібліотеки, але все ж таки вирішили залишити.
Також є кілька важливих змін у сфері безпеки: виправлено множення списку на ціле число, а в Linux багатопроцесорний модуль повертається до використання сокетів домену unix, які підтримує файлова система, для зв’язку з процесом forkserver (замість простору імен абстрактних сокетів Linux). Це відноситься лише до коду, який використовує метод запуску “forkserver”.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: