mardi, 29 novembre 2022

Nouveautés de Python 3.10

Python 3.10, la dernière version en développement de Python, a en fait été lancée dans sa première version bêta. Avec la version bêta, le jeu de fonctions pour Python 3.10 a été verrouillé, et les courageux concepteurs de Python sont motivés pour évaluer leur code par rapport aux dernières versions (bien que pas dans un environnement de production, évidemment).

Il n’y en a pas. Il n’y a pas de nombreuses fonctionnalités majeures véritablement nouvelles de Python 3.10, mais parmi les rares que nous avons, parmi elles – la correspondance de modèle structurel – pourrait être l’ajout le plus significatif à la syntaxe du langage étant donné que async .

Sur L’Entrepreneur: 6 tâches qui améliorent l’efficacité de Python]

Voici un aperçu de toutes les nouvelles fonctionnalités majeures de Python 3.10, avec une discussion sur la façon dont elles peuvent aider votre code.

  • Correspondance de modèles structurels
  • Rapports d’erreurs plus précis
  • Variables de spécification des paramètres
  • Autres modifications majeures dans Python 3.10

Correspondance de modèle structurel

Une excroissance des précédentes tentatives de travail interrompues pour inclure une syntaxe semblable à switch / case à Python,la correspondance de modèle structurel vous permet de faire correspondre des variables parmi un ensemble de valeurs possibles (tout comme switch / case dans d’autres langues). Il vous permet également de faire correspondre des modèles de valeurs – par exemple, un objet avec une maison spécifique définie sur une certaine valeur. Cela élargit considérablement la variété des possibilités et permet d’écrire du code qui inclut rapidement une variété de situations. Par exemple:

command = input ()
match command.split ():
case [« arrêté »]:
stop ()
case [« load » , filename]:
load_from (filename)
case [« conserver », filename]:
save_to (filename)
case _:
print (f « Command ‘ commande ‘pas compris « )

Pour plus de détails sur l’utilisation de la correspondance de modèles, consultez notre guide sur cette toute nouvelle syntaxe.

Rapport d’erreurs plus précis

Python le rapport d’erreurs est en fait depuis longtemps à la merci des impulsions de son analyseur. Python 3.9 a présenté un tout nouvel analyseur – beaucoup plus rapide, plus robuste, plus facile à maintenir pour l’équipe Python et moins rempli de hacks internes.

Connectez-vous aux didacticiels vidéo Smart Python de Serdar Yegulalp pour le découvrir astuces Python intelligentes en 5 minutes ou moins]

Variables de spécification des paramètres

Le module de typage de Python, utilisé pour annoter le code avec des informations de type, vous permet de décrire les types d’un appelable (par exemple, une fonction). Cependant, ces détails de type ne peuvent pas être propagés entre les appelables. Cela rend difficile d’annoter des éléments tels que les concepteurs de fonctions.

Deux nouveaux ajouts à la saisie, typing.ParamSpec et typing.Concatenate , permettent de annoter les callables avec des détails de définition de type plus abstraits.

Voici un exemple tiré du fichier PEP sur cette nouvelle fonctionnalité.

Restez à jour avec les progrès actuels de Python et des applications logicielles développement. Inscrivez-vous à la newsletter L’Entrepreneur First Look]

Autres modifications importantes de Python 3.10

  • Les types d’union peuvent désormais être exprimés sous la forme X | Y , plutôt que de Union [X, Y], par souci de concision (PEP 604).
  • Le zip intégré, qui tresse ensemble les résultats de plusieurs itérables, a maintenant un mot-clé rigoureux . Lorsqu'il est défini sur Real , cela provoque le déclenchement d'une exception par zip si l'un des itérables est fatigué avant les autres (PEP 618).
  • avec les instructions prennent désormais en charge la syntaxe multi-lignes entre parenthèses (BPO-12782).
  • Les variables peuvent désormais être déclarées en tant qu'alias de type, pour permettre des références directes, des erreurs plus robustes impliquant des types, etc. meilleures différences entre les instructions de type dans les portées (PEP 613).
  • OpenSSL 1.1.1 ou plus récent est maintenant requis pour développer CPython. Cela améliore les relations cruciales de CPython (PEP 644).

Toute l'actualité en temps réel, est sur L'Entrepreneur

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici