Python 3.11 bêta
mar, 28/06/2022 - 13:57
L'équipe de Python vient d'annoncer la disponibilité Python 3.11 bêta, la version définitive étant attendue pour octobre 2022. Selon l'équipe, CPython 3.11 est en moyenne 25% plus rapide que CPython 3.10. Selon le travail que doit effectuer un programme Python 3.11, le gain de performances s'échelonne de 10 à 60%, précise l'équipe.
Même si la note de version se contente d'évoquer un runtime plus rapide, il semble que ce gain de performances soit du au nouvel interpréteur adaptatif spécialisé qui arrive avec cette mouture du langage.
Comme promis, Python 3.11 apporte de meilleures traces d'erreur. Ainsi l'interpréteur pointe désormais vers l'expression exacte qui a causé l'erreur au lieu de simplement la ligne. Par exemple, nous pouvions avoir:
Traceback (most recent call last):
File "distance.py", line 11, in <module>
print(manhattan_distance(p1, p2))
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "distance.py", line 6, in manhattan_distance
return abs(point_1.x - point_2.x) + abs(point_1.y - point_2.y)
^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'x'
Les versions précédentes de l'interpréteur pointaient uniquement sur la ligne, ce qui rendait ambigu quel objet était None dans l'exemple ci-dessus.
Python 3.11 implémente aussi plusieurs améliorations au niveau de la syntaxe et du typage :