Python est sur le marché depuis un certain temps maintenant et en tant que développeur Python, je suis heureux de partager que Python reçoit progressivement des mises à jour et des améliorations à chaque nouvelle version. La dernière version de Python, 3.10, présente des améliorations majeures, et je vais lister ces mises à jour ici. J'ai répertorié les 5 premières mises à jour pour cette nouvelle version.
Pour les développeurs Python, lorsque vous écrivez du code et rencontrez une erreur, les messages d'erreur peuvent vous aider à trouver l'erreur dans le code. Les messages d'erreur améliorés vous facilitent la vie par rapport aux versions précédentes de Python. Par exemple, considérons le code suivant, où il n'y a pas de parenthèses à la fin de la deuxième ligne :
Dans les versions précédentes - Python3.9 et versions antérieures, vous verriez des erreurs telles que -
Eh bien, Invalid syntaxe ! Maintenant, en tant que développeur, que comprenez-vous de ce message d'erreur ? Eh bien, personnellement, à part le fait que j'ai ajouté une mauvaise syntaxe quelque part à la ligne 3, je ne comprends rien.
Mais l'erreur apparaît-elle vraiment à la ligne 3 ? Python 3.10 est le sauveur dans ce cas, avec les dernières mises à jour. Pour le même morceau de code, Python 3.10 renvoie le message d'erreur suivant -
Le numéro de ligne et le message d'erreur très spécifique vous permettront d'intervenir directement, de corriger l'erreur et de continuer à coder. J'essaie personnellement de voir si le code est le même. le message d'erreur est assez clair. Un autre exemple -
Il s'agit d'une mise à jour vraiment sympa de la version Python 3.10, veuillez partager vos réflexions à ce sujet dans la section commentaires de cet article.
Dans les versions précédentes de Python, davantage d'outils sont passés de la conversion de type aux fonctions intégrées pour éviter d'importer des types statiques à chaque fois. Regardez maintenant les changements -
Dans Python 3.10, vous êtes désormais autorisé à utiliser l'opérateur pipe (|) pour spécifier les unions de type au lieu d'importer des unions depuis le module d'entrée. De plus, les syntaxes typing.Union et | existantes doivent être équivalentes, comme comparé ci-dessous -
Python le fait en utilisant une barre oblique inverse() Les instructions multilignes sont prises en charge, mais certaines constructions en Python ne nécessitent pas l'utilisation de barres obliques pour écrire des instructions multilignes. L'un d'eux est un gestionnaire de contexte avec une instruction with() multiligne. Par exemple -
Oui, cela peut ne pas sembler être une fonctionnalité, mais il s'agit d'une amélioration significative par rapport à la version précédente car vous avez peut-être rencontré des cas d'utilisation dans lesquels vous avez utilisé un gestionnaire de contexte multiligne mais n'avez pas pu l'exécuter en raison de l'erreur ci-dessus. Si vous êtes toujours confus, donnons quelques exemples supplémentaires de ce que vous pouvez faire avec la version Python 3.10 des gestionnaires de contexte -
Vous pouvez désormais avoir des instructions de gestionnaire de contexte multilignes sans utiliser de barres obliques inverses. Génial, non ?
Les alias de type vous permettent de définir rapidement de nouveaux alias qui peuvent être créés pour des déclarations de type complexes. Par exemple :
Cela fonctionne généralement bien. Cependant, il est généralement impossible pour un vérificateur de type de savoir si une telle instruction est un alias de type ou simplement une définition d'une variable globale normale.
Le code python ci-dessus déclare un alias UserInfo pour tuple[str, str] car il s'agit d'un type de données qui combine des valeurs de plusieurs types. Dans notre cas, c'est une chaîne et un entier. De plus, l'ajout d'annotations TypeAlias clarifie l'intention du vérificateur de type et de toute personne lisant votre code.
zip() est une fonction intégrée en Python que vous avez peut-être utilisée lors de la combinaison de plusieurs listes/séquences. Python 3.10 introduit le nouveau paramètre strict, qui ajoute un test d'exécution pour vérifier que toutes les séquences compressées ont la même longueur. Par exemple -
zip() peut être utilisé pour itérer ces trois listes en parallèle :
Utilisons à nouveau les noms et numéros de ces deux séquences indiqués ci-dessus. Maintenant, la seule différence est que les nombres entre ces séquences sont des longueurs différentes des noms de séquence, comme indiqué ci-dessous -
Notez que toutes les informations sur le nom - Kevin ont disparu Si votre ensemble de données est plus grand, il est difficile de le faire ! détecter de telles erreurs. Même si vous découvrez un problème, le diagnostiquer et le résoudre n’est pas toujours facile. L’hypothèse selon laquelle les séquences compressées seront de la même longueur vous aide non seulement à éviter cet écart. Dans Python 3.10, le paramètre strict peut vous aider à éviter cette situation en premier lieu -
Bien que strict n'ajoute pas vraiment de nouvelles fonctionnalités à zip(), il peut vous aider à éviter ces erreurs difficiles à trouver .
Autres mises à jour dans Python 3.10 Cette version contient de nombreuses corrections de bugs ainsi que quelques autres petites mises à jour, qui peuvent être trouvées sur la page de sortie officielle si vous êtes intéressé.
Texte original : https://varun-singh-01.medium.com/python-3-10-released-top-5-new-features-you-should-know-bf968ac99230
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!