Ce journal est une traduction de https://discuss.python.org/t/python-3-11-0-final-is-now-available/20291
Nouveautés
Changements généraux
- PEP 657 - Introduction de meilleures sources d'erreurs
Exemple :
Traceback (most recent call last):
File "test.py", line 2, in
x['a']['b']['c']['d'] = 1
~~~~~~~~~~~^^^^^
TypeError: 'NoneType' object is not subscriptable
- PEP 654 - Groupes d'exceptions et
except*
- PEP 680 -
tomllib
rejoint la librairie standard - GH-90908 - Introduction des groupes de tâches dans
asyncio
- GH-34827 - Groupes atomiques
((?>...))
and quantifieur possessifs(*+, ++, ?+, {m,n}+)
sont maintenant supportés dans les expressions régulières
Le Faster CPython Project fournit des résultats intéressant. Python 3.11 est jusqu'à 10-60% plus rapide que Python 3.10. En moyenne, une amélioration de 1.22x a été mesurée avec la suite de test de performance standard. Voir la page Faster CPython pour plus de détails.
Changements sur le typage
- PEP 673 - Type
Self
- PEP 646 - Type générique "variadique" (avec un nombre variable de paramètres)
- PEP 675 - Type "LiteralString" arbitraire (n'accepte pas les variables de type
str
)
Exemple :
deffoo(bar:LiteralString)->None:...bar="hello"foo(bar)# badfoo("world")# good
- PEP 655 - Les éléments d'un
TypedDict
peuvent être marqué en tant que requis ou potentiellement manquant
Exemple:
classMovie(TypedDict):title:stryear:NotRequired[int]# a ne pas confondre avec Optional[int] qui signifie "int | None"
- PEP 681 - Transformation de "data class"
Plus de resources
- Documentation
- PEP 664, calendrier de version 3.11
- Bug Tracker
- Don/financement
Conclusion du traducteur
Une nouvelle version forte intéressante, cela fait plaisir de voir que Python est en constante évolution et n'est pas prêt de s'arrêter.
Ah oui, je sais, je n'ai pas traduit le (long ?) passage sur les trous noirs et la relativité générale. Ceci est un exercice laissé au lecteur :)
Commentaires :voir le flux Atomouvrir dans le navigateur