Вышла первая бета-версия Python 3.10 с крупным обновлением языка

19.05.2021      22997

Последняя номерная тестовая версия Python получит поддержку сопоставления с шаблонами, увеличение производительности и улучшение синтаксиса контекстных менеджеров.

Match/case и сопоставление с шаблонами

Одно из самых ожидаемых нововведений в Python – появление конструкции «match/case», позволяющей сравнивать выражение с несколькими блоками условий.

Синтаксис новой версии предлагает более мощную функциональность по сравнению с классическим «switch/case». Для объявления выражения необходимо использовать ключевое слово match, после которого последовательно указать шаблоны через операторы case. Также доступна маска _ – она работает аналогично default в конструкциях со switch и отвечает за выполнение кода в том случае, если ни один case не совпал. Возможно применять оператор «или», который позволяет указать несколько литералов.

Сопоставление с шаблонами не ограничивается базовым синтаксисом и предоставляет дополнительные возможности, такие как сравнение сложных шаблонов. К примеру, можно после match указать любой итерируемый тип: кортежи, списки, классы и т.д. Функционал способен провести сопоставление атрибутов объекта класса с шаблонами, написанными в стиле конструктора.

Прочие нововведения

Контекстные менеджеры, которые часто используют для работы с файлами и базами данных, стали еще удобнее в Python 3.10. Нововведение разрешает указать в скобках несколько менеджеров, а в другом блоке with ссылаться на переменные, объявленные в предыдущем.

Добавлена новая функция для подсчета количества битов в двоичном представлении целого числа под названием Population Count (popcount). Вызвать ее можно при помощи int.bit_count().

Доработан синтаксис для операторов объединения типов – он стал короче и понятней. Изменение затрагивает и аннотации типов, и функции isinstance() и issubclass(). Проверка типов в Python 3.10 в целом будет более удобной.

Для увеличения производительности языка программирования оптимизированы конструкторы str(), bytes() и bytearray() – они стали примерно на 30% быстрее. Улучшен расчет параметров функций и их аннотаций – теперь этот процесс происходит во время компиляции, а не исполнения.

Устаревший контент

Обновление Python не только добавляет новые возможности, но и избавляется от ненужных. В версии 3.10 устаревшим будет объявлен пакет distutils – его планируется окончательно удалить в версии 3.12. В качестве замены разработчики рекомендуют перейти на пакеты setuptools и packaging.


Автор:
Аналитик


См. также

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    860    AnastasiaKl    3       

3

Новость ИТ-Новость

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    815    VKuser24342747    2       

1

Новость ИТ-Новость

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    595    VKuser24342747    0       

2

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    757    VKuser24342747    2       

1

Новость Мобильные приложения ИТ-Новость

Новая версия Android Studio под номером 2023.1 получила имя Hedgehog. Появились возможности контролировать производительность приложений и управлять подключенными устройствами.

07.12.2023    961    VKuser24342747    2       

3

Новость GitHub ИТ-Новость

GitHub собрал данные об Open Source проектах в рамках ежегодного исследования Octoverse. Компания изучила географию репозиториев, используемые языки программирования и нейросети, а также активность сообщества.

15.11.2023    607    VKuser24342747    1       

2

Новость ИТ-компания ИТ-Новость

Компания «Сбер» заявила, что будет бесплатно предоставлять доступ к API нейросети для генерации текста GigaChat для некоммерческих проектов. Однако для них будет ограничено число доступных токенов.

01.11.2023    770    VKuser24342747    2       

3

Новость ИТ-Новость Программист

Вышла новая версия Geany 2.0. Обновление затронуло внешний вид программы, расширило поддержку файлов и сторонних проектов, добавило новые способы работы с кодом.

25.10.2023    791    VKuser24342747    0       

1
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение