La dernière version du langage de programmation Python, 3.11, a été dévoilée, son équipe de développement affirmant que la nouvelle édition pourrait bien être la meilleure à ce jour.
Dans le notes de version (s’ouvre dans un nouvel onglet)Pablo Galindo Salgado, membre du Python Steering Council et responsable de la publication de la version actuelle, aux côtés des autres membres de l’équipe Steve Dower et Ned Deily, a écrit que l’équipe a « déployé beaucoup d’efforts pour faire de la 3.11 la meilleure version de Python possible ».
Ils ont également répertorié les principales améliorations apportées à Python 3.11 : « meilleurs tracebacks », « Python plus rapide », « groupes d’exceptions et excepté* », en plus d’offrir diverses améliorations au typage.
Dernières améliorations de Python 3.11
L’équipe de publication de Python a affirmé dans les notes de publication que Python 3.11 « est jusqu’à 10 à 60% plus rapide que Python 3.10 », et a rapporté mesurer des accélérations de 1,22x en moyenne, grâce au Projet CPython plus rapide (s’ouvre dans un nouvel onglet).
Bien qu’il soit utile de souligner que cela ne s’applique probablement qu’au code Python pur, et Python lui-même n’a jamais été le langage de programmation le plus rapide, c’est toujours impressionnant.
Plusieurs propositions d’amélioration Python (PEP) promettent d’offrir des améliorations plus concrètes de la qualité de vie.
PEP 657 (s’ouvre dans un nouvel onglet)par exemple, introduira des rapports d’erreurs plus détaillés pour les tracebacks – des rapports détaillant les appels de fonction dans un script python, rendant le débogage beaucoup plus simple. PEP 680 (s’ouvre dans un nouvel onglet)quant à lui, signifie que Python sera capable d’analyser les fichiers TOML, couramment utilisés pour les fichiers de configuration sans avoir besoin d’une bibliothèque externe.
Cependant, comme Le registre (s’ouvre dans un nouvel onglet) rapports, les fichiers PYC compilés par l’interpréteur Python sont désormais, en moyenne, 22 % plus volumineux, et bien que l’équipe Python maintienne le changement, elle a émis un opt-out, sous la forme de « PYTHONNODEBUGRANGES », une nouvelle variable d’environnement.
PEP 654 (s’ouvre dans un nouvel onglet)d’autre part, permet de gérer plusieurs exceptions à la fois avec l’introduction de groupes d’exceptions et la nouvelle syntaxe except*.
Python 3.11 devrait également encourager les développeurs à utiliser davantage les types de données, grâce à de nouvelles fonctionnalités et à des changements plus subtils qui donnent aux développeurs plus de contrôle sur le backend.
La meilleure illustration en est peut-être PEP 675 (s’ouvre dans un nouvel onglet)qui permet aux utilisateurs de déclarer des types de chaînes arbitraires, mais il existe également PEP 673 (s’ouvre dans un nouvel onglet) (le Self Type), un moyen intuitif d’annoter des méthodes qui renvoient des instances de la même classe. Pour terminer, PEP 646 (s’ouvre dans un nouvel onglet) (Variadic Generics), permettant aux génériques de stocker plusieurs types à la fois pour une affectation ultérieure à des objets.