Главная | Все статьи | Код

Вышел Python 3.11.0. В два раза быстрее, c детальным описанием ошибок и кучей новых типов

Python Время чтения статьи ~3 минуты
Вышел Python 3.11.0. В два раза быстрее, c детальным описанием ошибок и кучей... главное изображение

Рассказываем, что изменилось в новом релизе Python и при чем тут его создатель Гвидо ван Россум (спойлер — он вернулся к разработке Python и теперь хочет его сделать самым быстрым языком в мире).

Что нового в Python 3.11.0 — основные изменения

  • Самое важное изменение: Python 3.11 на 10-60% быстрее, чем Python 3.10 — в среднем разработчики языка зафиксировали ускорение в 1,22 раза на стандартном наборе тестов.
  • В Python 3.11.0 включены подробные местоположения ошибок в трассировках. Теперь разработчики увидят точное место ошибки — не строку, а конкретные выражения, а сообщения об ошибках станут понятнее и детальнее.
  • В релизе появились группы исключений и синтаксис except*. Теперь разработчики в своем коде могут отлавливать сразу несколько неродственных исключений одновременно. Для группировки исключений и их совместного вызова появились новые типы исключений ExceptionGroup и BaseExceptionGroup.
  • Python поддерживает модуль tomllib в стандартной библиотеке для синтаксического анализа файлов в формате TOML.
  • В asyncio появились группировки для задач.
  • Регулярные выражения теперь поддерживают атомарную группировку ( (?>…)) и притяжательные квантификаторы ( *+, ++, ?+, {m,n}+).

Читайте также: С чего начать изучение Python и как написать на нем первый код

Изменения типов

  • В Python 3.11.0 появился новый тип SelfType, который облегчит работу с классами и сделает возврат экземпляра класса более интуитивно понятным.
  • Добавлен тип TypeVarTuple, который позволяет использовать вариативные дженерики. С их помощью можно охватывать не один тип, как в предыдущей версии этой концепции TypeVar, а любое количество типов.
  • Появился супертип для работы со строками — LiteralString, который будет включать в себя все строковые литералы, совместимые с ним. Например, в LiteralString не входят комбинированные строки с типом str или произвольные символы.
  • Теперь можно помечать отдельные элементы в типизированных словарях TypedDict специальными метками Required и NotRequired для определения обязательных и необязательных полей.
  • В Python 3.11.0 добавлен декоратор классов, методов и функций @dataclass_transform. Если разработчик его указывает, то система проверки статистических типов начинает правильно трактовать метаклассы.

Еще несколько изменений

  • В релиз добавлена встроенная поддержка WebAssembly — в дальнейшем это позволит упростить запуск Python в среде браузера.
  • Разработчики объявили в этом релизе устаревшими модули uu, cgi, pipes, crypt, aifc, chunk, msilib, telnetlib, audioop, nis, sndhdr, imghdr, nntplib, spwd, xdrlib, cgitb, mailcap, ossaudiodev и sunau, а также функцию PyUnicode_Encode*. Они будут полностью удалены из языка в Python 3.13.

Продолжайте учиться: На Хекслете есть большая профессия Python-разработчика с нуля — с большим количеством практики, важнейшими фундаментальными знаниями о программировании, разбором необходимых фреймворков и портфолио из нескольких проектов на GitHub

Аватар пользователя Svet Ivanov
Svet Ivanov 08 ноября 2022
18
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 21 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 21 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 21 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 21 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 21 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 21 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 21 ноября