Python Language Variables et attributs


Exemple

Les variables sont annotées en utilisant les commentaires:

x = 3  # type: int
x = negate(x)
x = 'a type-checker might catch this error'
Python 3.x 3.6

À partir de Python 3.6, il existe également une nouvelle syntaxe pour les annotations de variables . Le code ci-dessus pourrait utiliser le formulaire

x: int = 3

Contrairement aux commentaires, il est également possible d’ajouter un indice de type à une variable qui n’a pas été déclarée précédemment, sans lui donner de valeur:

y: int

En outre, si elles sont utilisées au niveau du module ou de la classe, les indications de type peuvent être récupérées à l'aide de typing.get_type_hints(class_or_module) :

class Foo:
    x: int
    y: str = 'abc'

print(typing.get_type_hints(Foo))
# ChainMap({'x': <class 'int'>, 'y': <class 'str'>}, {})

Vous pouvez également y accéder en utilisant la variable ou l'attribut spécial __annotations__ :

x: int
print(__annotations__)
# {'x': <class 'int'>}

class C:
    s: str
print(C.__annotations__)
# {'s': <class 'str'>}