Python 3.10¶
Python 3.10.0 (finale) est sortie le 4 octobre 2021. Les fonctionnalités de la version 3.10 sont définies dans PEP 619 et une description détaillée des changements se trouve dans Nouveautés de Python 3.10.
Nouvelles fonctionnalités de syntaxe |
Statut |
|
Filtrage par motif structurel : spécification |
||
Filtrage par motif structurel : motivation et justification |
||
Filtrage par motif structurel : tutoriel |
||
Les gestionnaires de contexte entre parenthèses sont désormais officiellement autorisés |
||
Nouvelles fonctionnalités de la bibliothèque standard |
||
Ajout d’une vérification optionnelle de la longueur à zip |
||
Améliorations de l’interpréteur |
||
Numéros de ligne précis pour le débogage et d’autres outils |
||
Nouvelles fonctionnalités de typage |
||
Permettre d’écrire les types union sous la forme X | Y |
||
Alias de types explicites |
||
Variables de spécification de paramètres |
||
Dépréciations, suppressions ou restrictions importantes |
||
Exiger OpenSSL 1.1.1 ou plus récent |
||
Déprécation du module distutils. |
Non pertinent |
|
Déprécier et préparer la suppression du membre wstr dans PyUnicodeObject. |
Non pertinent |
|
Suppression des API d’encodage Py_UNICODE |
Non pertinent |
|
Ajout d’un EncodingWarning optionnel |
||
Autres changements du langage :
Le type |
|
Les vues renvoyées par |
|
PEP 618 : la fonction |
|
Les fonctions natives et d’extension qui prennent des arguments entiers n’acceptent plus les |
|
Si |
|
Les expressions d’affectation peuvent désormais être utilisées sans parenthèses au sein des littéraux d’ensembles et des compréhensions d’ensembles, ainsi que dans les index de séquences (mais pas dans les tranches). |
|
Les fonctions possèdent un nouvel attribut |
|
Deux nouvelles fonctions natives – |
|
Les méthodes statiques ( |
|
Les annotations pour des cibles complexes (tout sauf les cibles de type |
|
Les objets classe et module créent désormais paresseusement des dictionnaires d’annotations vides à la demande. Les dictionnaires d’annotations sont stockés dans le |
|
Les annotations contenant |
|
L’utilisation de variables non liées, de |
|
Les hachages des valeurs NaN, à la fois du type |
|
Une |
|
Les exceptions |
Changements des modules natifs :
Ajout de la méthode manquante |
|
La méthode |
|
Ajout de points d’audit pour |
|
Le module hashlib nécessite OpenSSL 1.1.1 ou plus récent. |
|
Le module hashlib offre une prise en charge préliminaire d’OpenSSL 3.0.0. |
|
Le repli purement Python de |
|
Ajout de la prise en charge de |
|
Ajout d’une nouvelle fonction |
|
Ajout de |
|
Ajout de |
|
Ajout de |
|
L’exception |
|
Ajout d’une option pour créer des sockets MPTCP avec |
|
Ajout de l’option |
|
Le module ssl nécessite OpenSSL 1.1.1 ou plus récent. |
|
Le module ssl offre une prise en charge préliminaire d’OpenSSL 3.0.0 et une nouvelle option |
|
Les fonctions dépréciées et l’utilisation de constantes dépréciées entraînent désormais une |
|
Le module ssl possède désormais des paramètres par défaut plus sécurisés. Les chiffrements sans confidentialité persistante ou avec MAC SHA-1 sont désactivés par défaut. Le niveau de sécurité 2 interdit les clés RSA, DH et ECC faibles offrant moins de 112 bits de sécurité. |
|
Les protocoles dépréciés SSL 3.0, TLS 1.0 et TLS 1.1 ne sont plus officiellement pris en charge. Python ne les bloque pas activement. Cependant, les options de compilation d’OpenSSL, les configurations des distributions, les correctifs des fournisseurs et les suites de chiffrement peuvent empêcher la réussite d’une poignée de main. |
|
Ajout d’un paramètre timeout à la fonction |
|
Le module ssl utilise des types alloués sur le tas et une initialisation multiphase. |
|
Un nouvel indicateur de vérification |
|
Ajout de l’attribut |
|
Ajout de |
|
|
|
Notes