{{tag>dev python}} ====== 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 ===== * http://sametmax.com/les-annotations-en-python-3/