Python 3.10 se vante d'être l'une des versions les plus stables disponibles pour les utilisateurs à télécharger, et sera publié plus tard cette année. La nouvelle version apportera de nombreux changements notables, tels que des fonctionnalités faciles à utiliser pour les programmeurs novices et expérimentés.

Les améliorations flagrantes de la nouvelle version Python incluent l'introduction d'un modèle structurel correspondance, meilleurs messages d'erreur, nouveaux opérateurs d'union, numéros de ligne précis pour le débogage, et bien plus encore Suite.

Voici ce que vous devez savoir sur Python 3.10:

Correspondance de modèle structurel dans Python 3.10

La correspondance de motifs structurels facilite l'écriture de code et continue d'être l'un des points forts de la dernière version de Python. Python vise à améliorer les déclarations de correspondance préexistantes présentes dans les versions précédentes du langage de programmation. Il a mis à jour les instructions de correspondance existantes dans Python.

Jetons un coup d'œil rapide aux implémentations de Structural Pattern Matching:

L'instruction match-case fait partie du langage Python depuis un certain temps maintenant. Cette déclaration est essentiellement utilisée pour éviter le travail fastidieux de rédaction du sinon déclaration plusieurs fois.

Vous pouvez comparer des objets avec des propriétés similaires à l'aide de cette fonctionnalité dans la nouvelle version.

correspondre à media_object :
cas Image (type="jpg") :
# Retour tel quel
retourner media_object
cas Image (type="png") | Image (type="gif") :
return render_as (media_object, "jpg")
cas Vidéo() :
raise ValueError("Impossible d'extraire les images de la vidéo pour le moment")
case autre_type :
raise Exception (f"Le type de média {media_object} ne peut pas encore être géré")

La nouvelle bibliothèque python reconnaît les objets tels que jpg, gif et vidéos. Ce code peut s'exécuter de manière transparente sans générer d'erreur.

2. Messages d'erreur améliorés

Chaque codeur comprend probablement l'importance des erreurs lors de l'écriture de code et à quel point certains types d'erreurs peuvent être exaspérants. Les versions précédentes de Python lançaient des messages d'erreur dès qu'il y avait des problèmes de syntaxe. Ceux-ci peuvent être dus à une mauvaise syntaxe, des mots-clés manquants, des mots-clés incorrects ou mal orthographiés, entre autres problèmes.

Ces messages d'erreur étaient loin d'être parfaits car il devenait difficile pour les débutants (parfois, même les utilisateurs avancés) d'identifier la véritable cause de l'erreur dans leurs codes. En tant que programmeur, Google continue d'être votre allié pour déchiffrer la raison des différents messages d'erreur.

Par exemple, de nombreuses personnes peuvent ne pas savoir pourquoi Python renvoie l'erreur suivante:

 SyntaxError: EOF inattendu lors de l'analyse du message d'erreur.

Le manque de clarté de ces déclarations a incité la dernière version de Python à améliorer son ensemble existant de messages d'erreur.

Les anciens messages ont été remplacés par des messages d'erreur faciles à comprendre tels que:

{ n'a jamais été fermé EOF inattendu lors de l'analyse

Parmi les autres changements, citons:

Erreurs d'attribut telles que:

à partir des collections importer namedtoplo

le module 'collections' n'a pas d'attribut 'namedtoplo'. Vouliez-vous dire: tuple nommé ?

Les messages NameError sont modifiés pour ressembler à:

nouvelle_var = 5
imprimer (new_vr)>

NameError: le nom 'new_vr' n'est pas défini. Vouliez-vous dire: new_var ?

3. Gestionnaires de contexte entre parenthèses

Les nouveaux gestionnaires de contexte entre parenthèses peuvent rendre votre code plus élégant. Même si ce n'est pas une fonctionnalité majeure, cela peut facilement rendre votre code moins maladroit. Cette fonctionnalité est avantageuse si vous travaillez en équipe et que votre code doit être structuré.

Imaginez que vous écriviez une déclaration comme:

avec open('file1.txt', 'r') comme fin, open('file2.txt', 'w') comme fout :
fout.write (fin.read())

Le code ci-dessus fonctionne, mais la première ligne est beaucoup trop longue et semble maladroite. Vous pouvez couper la ligne en utilisant une barre oblique inverse (\) et rendre le code structuré:

avec open('file1.txt', 'r') comme fin, \ open('file2.txt', 'w') comme fout: fout.write (fin.read())

Avec l'introduction du nouveau gestionnaire de contexte entre parenthèses, vous pouvez également rompre la ligne en utilisant des parenthèses:

avec (open('file1.txt', 'r') comme fin,
open('file2.txt', 'w') comme fout):
fout.write (fin.read())

En rapport: Idées de projets Python adaptées aux débutants

4. Nouveau type d'opérateur de l'Union

Une fonctionnalité petite mais pratique de Python 3.10 est le nouveau type d'opérateur d'union. Chaque version de Python est livrée avec un ensemble prédéfini de fonctionnalités d'indice de type.

L'opérateur union inclut une logique conditionnelle; par exemple, entier ou alors flotter peut être écrit comme Union[X, Y]. Le nouvel opérateur d'union peut être exprimé comme int|float également.

L'introduction d'un nouvel opérande union dans Python 3.10 permet de gagner du temps et donne au code une apparence bien définie.

Par exemple:

def f (x: int | float) -> float :
retourner x * 3,142
f (1) # réussite
f (1.5) # réussite
f('str') # linter affichera une erreur d'annotation

Erreur d'annotation en Python

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

Vous avez peut-être remarqué à plusieurs reprises que le suivi des erreurs ne vous redirige pas vers la ligne correcte où une erreur s'est produite. Cela rend le débogage difficile pour les codeurs qui viennent de commencer à écrire du code.

Le traçage des erreurs défectueux est particulièrement évident lors de l'écriture sys.settrace et les outils associés en Python. La nouvelle version améliore considérablement cela et vous pouvez voir des numéros de ligne précis lorsqu'une erreur se produit.

Pour apporter un numéro de ligne plus précis, Python 3.10 décale sa fiabilité par rapport à l'actuel co_Inotab attribut et utilise la nouvelle méthode co_lines() attribut. Cet attribut fonctionne de manière à ce que le f_lineo contient toujours le numéro de ligne exact.

1. pour (
2. x) dans [1] :
3. passer
4. revenir

En rapport: Déboguez votre code Python

6. Évaluation reportée des annotations

Dans Python, l'évaluation de l'annotation de type est effectuée au moment de la définition de la fonction. Cela signifie que les annotations de type sont évaluées ligne par ligne de manière descendante.

Même si cela peut sembler être la meilleure option, cette approche pose toujours deux problèmes:

  • Les conseils de type font référence à des types qui ne sont pas encore définis et qui ne fonctionnent pas; ces conseils doivent être exprimés sous forme de chaînes.
  • Les importations de module ont ralenti car les conseils de type sont exécutés en temps réel.

Pour éviter les problèmes d'exécution, les annotations sont stockées dans _annotations_ et l'évaluation est effectuée ensemble. Cela permet un référencement avancé lorsque les importations de modules sont exécutées en premier, réduisant ainsi le temps d'initialisation.

Travailler avec les dernières fonctionnalités de Python 3.10

La dernière version de Python sortira le 4 octobre 2021; il promet de corriger les bugs qui sont présents dans les versions existantes. Les versions qui suivent amélioreront la version 3.10 actuelle.

La cartographie des motifs structurels est le point culminant de cette nouvelle mise à jour, et elle simplifie l'écriture de codes pour des objets similaires. D'autres fonctionnalités telles que les gestionnaires de contexte entre parenthèses et les opérateurs d'union de nouveau type visent à rendre le code plus simple et efficace.

Néanmoins, il existe d'excellentes techniques de gestion des exceptions dans les versions Python existantes. Vous pouvez faire bon usage des fonctionnalités de Python.

PartagerTweeterE-mail
Comment gérer les exceptions en Python

Couvrez vos bases de codage avec des exceptions Python.

Lire la suite

Rubriques connexes
  • Programmation
  • Programmation
  • Python
  • Conseils de codage
A propos de l'auteur
Wini Bhalla (21 articles publiés)

Wini est un écrivain basé à Delhi, ayant 2 ans d'expérience dans l'écriture. Au cours de ses périodes d'écriture, elle a été associée à des agences de marketing numérique et à des cabinets techniques. Elle a écrit du contenu lié aux langages de programmation, à la technologie cloud, à AWS, à l'apprentissage automatique et bien plus encore. Dans son temps libre, elle aime peindre, passer du temps avec sa famille et voyager à la montagne, autant que possible.

Plus de Wini Bhalla

Abonnez-vous à notre newsletter

Rejoignez notre newsletter pour des conseils techniques, des critiques, des ebooks gratuits et des offres exclusives !

Cliquez ici pour vous abonner