Python 3.10¶
Python 3.10.0 (фінальний реліз) вийшов 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 тепер має більш безпечні налаштування за замовчуванням. Шифри без прямої секретності або з SHA-1 MAC вимкнені за замовчуванням. Рівень безпеки 2 забороняє слабкі ключі RSA, DH та ECC з менш ніж 112 бітами безпеки. |
|
Застарілі протоколи SSL 3.0, TLS 1.0 та TLS 1.1 більше офіційно не підтримуються. Python не блокує їх активно. Однак параметри збірки OpenSSL, конфігурації дистрибутивів, патчі постачальників та набори шифрів можуть запобігти успішному рукостисканню. |
|
Додавання параметра timeout до функції |
|
Модуль ssl використовує heap-типи та багатофазну ініціалізацію. |
|
Додано новий прапор перевірки |
|
Додавання атрибута |
|
Додавання |
|
|
|
Примітки