Python 3.10¶
Python 3.10.0 (final) был выпущен 4 октября 2021 года. Возможности версии 3.10 описаны в PEP 619, а подробное описание изменений можно найти в What’s New in Python 3.10.
Новые синтаксические возможности |
Статус |
|
Структурное сопоставление с образцом: спецификация |
||
Структурное сопоставление с образцом: мотивация и обоснование |
||
Структурное сопоставление с образцом: руководство |
||
Контекстные менеджеры в скобках теперь официально разрешены |
||
Новые возможности стандартной библиотеки |
||
Добавление необязательной проверки длины в zip |
||
Улучшения интерпретатора |
||
Точные номера строк для отладки и других инструментов |
||
Новые возможности аннотаций типов |
||
Возможность записи объединений типов в виде X | Y |
||
Явные псевдонимы типов |
||
Переменные спецификации параметров |
||
Важные устаревания, удаления или ограничения |
||
Требуется OpenSSL 1.1.1 или новее |
||
Объявление модуля distutils устаревшим. |
Не относится |
|
Объявление устаревшим и подготовка к удалению члена wstr в PyUnicodeObject. |
Не относится |
|
Удаление API кодировщиков Py_UNICODE |
Не относится |
|
Добавление необязательного EncodingWarning |
||
Прочие изменения языка:
Тип |
|
Представления, возвращаемые методами |
|
PEP 618: функция |
|
Встроенные функции и функции расширений, принимающие целочисленные аргументы, больше не принимают |
|
Если |
|
Выражения присваивания теперь можно использовать без скобок в литералах множеств и генераторах множеств, а также в индексах последовательностей (но не в срезах). |
|
Функции получили новый атрибут |
|
Добавлены две новые встроенные функции — |
|
Статические методы ( |
|
Аннотации для сложных целей (всё, кроме целей |
|
Объекты классов и модулей теперь лениво создают пустые словари аннотаций по требованию. Словари аннотаций хранятся в |
|
Аннотации, состоящие из |
|
Использование несвязанных переменных, |
|
Хеши значений NaN как типа |
|
При удалении константы |
|
Исключения |
Изменения во встроенных модулях:
Добавлен отсутствовавший метод |
|
Метод |
|
Добавлены аудиторские перехватчики для |
|
Модуль hashlib требует OpenSSL 1.1.1 или новее. |
|
Модуль hashlib имеет предварительную поддержку OpenSSL 3.0.0. |
|
Чисто-Python реализация |
|
Добавлена поддержка |
|
Добавлена новая функция |
|
Добавлена функция |
|
Добавлены |
|
Добавлена функция |
|
Исключение |
|
Добавлена возможность создания сокетов MPTCP с помощью |
|
Добавлена опция |
|
Модуль ssl требует OpenSSL 1.1.1 или новее. |
|
Модуль ssl имеет предварительную поддержку OpenSSL 3.0.0 и новую опцию |
|
Использование устаревших функций и устаревших констант теперь приводит к |
|
Модуль ssl теперь имеет более безопасные настройки по умолчанию. Шифры без прямой секретности или с MAC на основе SHA-1 отключены по умолчанию. Уровень безопасности 2 запрещает слабые ключи RSA, DH и ECC с уровнем безопасности менее 112 бит. |
|
Устаревшие протоколы SSL 3.0, TLS 1.0 и TLS 1.1 больше официально не поддерживаются. Python не блокирует их активно. Однако опции сборки OpenSSL, конфигурации дистрибутивов, патчи поставщиков и наборы шифров могут препятствовать успешному рукопожатию. |
|
Добавлен параметр timeout в функцию |
|
Модуль ssl использует типы из кучи и многофазную инициализацию. |
|
Добавлен новый флаг проверки |
|
Добавлен атрибут |
|
Добавлен атрибут |
|
|
|
Примечания