Outils pour utilisateurs

Outils du site


dev:python:annotations

Python: Annotations de type

Les annotations de type (type hinting) fournissent des méta-informations sur le type d'un paramètre dans la définition d'une fonction ou d'une méthode en Python.

  • L'annotation est optionnelle
  • L'annotation doit être une expression Python valide. Elle est évaluée une seule fois au chargement du module, le résultat est accessible via l'attribut __annotations__.

La syntaxe est présentée ci-dessous:

>>> def somme(a:int, b:int=0):
...     return a + b
... 
>>>

Lors de la définition, l'annotation est accolée au paramètre avec le caractère :

Il est également possible d'annoter le code de retour d'une fonction avec la syntaxe:

>>> def somme(a:int, b:int) -> int:
...     return a+b
... 
>>> somme(2,1)
3
>>> somme(2,1.0)
3.0
>>> help(somme)
Help on function somme in module __main__:
 
somme(a:int, b:int) -> int

Usages

  • L' annotation de type. int, list, MaClasse dans les parties clés de l’algo permet d'augmenter la vitesse d’exécution et diminuer la mémoire consommée.
  • Complémentaire au docstring pour la génération de documentation (la fonction help() exploite les annotations).
  • Vérification de type, analyse statique de typage (mypy)
  • Translittération du code (traduction vers un autre langage Turing complet)

Références

dev/python/annotations.txt · Dernière modification : 2023/01/02 15:54 de yoann