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 использует типы из кучи и многофазную инициализацию. | |
Добавлен новый флаг проверки | |
Добавлен атрибут | |
Добавлен атрибут | |
| |
Примечания