Mathis Hammel

Les 3 changements les plus importants dans Python 3.11

Les 3 changements les plus importants dans Python 3.11

Cette semaine c’est la sortie de Python 3.11 ! 😍

Mini-article pour vous présenter les 3 changements que je trouve les plus importants dans cette nouvelle version du langage ⤵️

1. Un affichage des erreurs amélioré.

Dans les versions précédentes, l’interpréteur ne donnait que le numéro de la ligne et le type d’erreur, ce qui pouvait être ambigu quand on faisait plusieurs calculs dans la même opération.

Python 3.11 donne l’emplacement exact du bug :

Un autre exemple ici, où on sait directement à quel sous-index imbriqué se trouve le bug.

En compétition, j’ai déjà perdu de très longues minutes à essayer de comprendre où se trouvait l’erreur sur du code similaire 😅

2. La gestion des exceptions.

On peut maintenant raise plusieurs exceptions en même temps !

Python 3.11 introduit le type ExceptionGroup qui permet de grouper plusieurs erreurs en une seule, et différents mécanismes associés : nesting en sous-groupes, syntaxe except*, etc.

Nouvelle méthode introduite pour gérer les erreurs dans son code : la possibilité d’ajouter des annotations à une exception a posteriori, sans devoir instancier un nouvel objet.

3. Une amélioration des performances.

Pour finir, une amélioration très attendue dans la communauté Python : une très forte augmentation des performances de CPython !

Pour rappel, CPython c’est l’interpréteur de Python le plus répandu, c’est ce qui est installé quand vous faites  pip install python3.

Pour mesurer la performance d’un langage, on utilise des benchmarks : une série d’algos standardisés, sur lesquels on mesure précisément le temps d’exécution.

Le benchmark pyperformance reprend du code utilisé dans le monde réel comme le chiffrement AES ou la synthèse d’images :

Sur les tests de pyperformance, CPython 3.11 est en moyenne 28% plus rapide que CPython 3.10, et jusqu’à 60% sur certains programmes !

C’est notamment lié à de petites optimisations au niveau des couches basses de l’interpréteur, sur des opérations utilisées très fréquemment :

Voici la fin de ce mini-article, j’espère que vous aurez l’occasion d’utiliser ces trois améliorations dans vos projets 😉

La version 3.11 apporte plusieurs centaines d’autres changements, retrouvez la liste complète ici : https://docs.python.org/3.11/wha…

Les 3 changements les plus importants dans Python 3.11
Article précédent

Série d'exercices pour préparer les entretiens d'embauche

Article suivant

Une faille critique a été découverte dans OpenSSL

Les 3 changements les plus importants dans Python 3.11

Contactez-moi

contact@mathishammel.com

Copier

Contactez-moi

contact@mathishammel.com

Copier