Maison  >  Article  >  développement back-end  >  Quelles nouvelles fonctionnalités sont ajoutées dans la version Python 3.10 ?

Quelles nouvelles fonctionnalités sont ajoutées dans la version Python 3.10 ?

王林
王林avant
2023-08-20 23:33:061097parcourir

Python 3.10版本中新增了哪些新功能?

Dans cet article, nous découvrirons les nouvelles fonctionnalités de Python 3.10, par rapport à 3.9. Voyons les fonctionnalités −

.

Gestionnaires de contexte entre parenthèses

Prend désormais en charge l'utilisation de parenthèses pour continuer les gestionnaires de contexte sur plusieurs lignes. Cela formate une longue collection de gestionnaires de contexte en plusieurs lignes de la même manière que l'instruction d'importation précédente.

Protections de type définies par l'utilisateur

TypeGuard a été ajouté au module de saisie pour annoter les fonctions de protection de type et améliorer les informations fournies aux vérificateurs de type statiques lors du rétrécissement du type.

Messages d'erreur améliorés

Si vous rencontrez une erreur lors de l'exécution d'un programme Python, le message d'erreur sera désormais plus précis et fournira le message d'erreur exact

La traduction chinoise de

SyntaxError

est :

SyntaxError

Lors de l'analyse de code contenant des parenthèses ou des parenthèses non fermées, l'interpréteur inclut désormais la position de la parenthèse ou de la parenthèse non fermée, plutôt que d'afficher SyntaxError: EOF inattendu lors de l'analyse ou du pointage vers la mauvaise position

Les exceptions SyntaxError déclenchées par l'interpréteur mettront désormais en évidence toute la plage d'erreurs de l'expression qui constitue l'erreur de syntaxe elle-même, au lieu de simplement l'endroit où le problème est détecté.

IndentationErrors

se traduit par :

Erreurs d'indentation

De nombreuses exceptions IndentationError fournissent désormais plus d'informations contextuelles sur le type de bloc qui devrait être indenté

Numéros de ligne précis pour le débogage

Des numéros de ligne plus précis et fiables pour les outils de débogage, de profilage et de couverture, avec le numéro de ligne correct, sont générés pour toutes les lignes de code exécutées et uniquement pour les lignes de code exécutées.

Correspondance des motifs structurels

La correspondance de modèles structurels a été ajoutée via des instructions de correspondance et des instructions de cas pour les modèles avec des opérations associées. Les modèles incluent des séquences, des cartes, des types de données primitifs et des instances de classe. La correspondance de modèles permet aux programmes d'extraire des informations à partir de types de données complexes, de créer des branches en fonction de la structure des données et d'appliquer des opérations spécifiques basées sur différentes formes de données.

Module d'amélioration

Les modules suivants ont ajouté de nouvelles fonctions, de nouvelles méthodes, etc.

array - La méthode index() de array.array a désormais des paramètres de démarrage et d'arrêt facultatifs.

base64 - Ajout de base64.b32hexencode() et base64.b32hexdecode() pour prendre en charge l'encodage Base32 avec l'alphabet hexadécimal étendu.

bisect − Ajout de la possibilité de fournir une fonction clé aux API dans le module bisect.

contextlib - Ajout d'un gestionnaire de contexte contextlib.aclosing() pour fermer en toute sécurité les générateurs asynchrones et les objets représentant la libération asynchrone de ressources.

distutils - Le package distutils est obsolète et doit être supprimé dans Python 3.12.

encodings - Le encodings.normalize_encoding() ignore désormais les caractères non-ASCII.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer