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 deUnion [X, Y], par souci de concision (PEP 604).
- Le
zip
intégré, qui tresse ensemble les résultats de plusieurs itérables, a maintenant unmot-clé rigoureux
. Lorsqu'il est défini surReal
, cela provoque le déclenchement d'une exception parzip
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