Comprendre les annotations de variables en Python
Python 3.6 a introduit les annotations de variables en tant qu'extension des astuces de type introduites dans PEP 484. Ces annotations fournissent un mécanisme pour spécifier les types de variables attendus, y compris la classe et l'instance variables.
Justification et syntaxe
Les annotations variables constituent une amélioration par rapport aux commentaires de type. Au lieu d'annoter le type à l'aide d'un commentaire de type #, la nouvelle syntaxe permet une annotation directe du type lors de l'affectation des variables :
primes: List[int] = [] captain: str # Note: no initial value! class Starship: stats: Dict[str, int] = {}
Métadonnées de type et les annotations Attribut
Les annotations de variables sont stockées dans un attribut spécial annotations attaché aux classes et aux modules. Cet attribut contient un mappage des noms de variables avec leurs types annotés :
__main__.__annotations__ = {'primes': List[int]} Starship.__annotations__ = {'stats': Dict[str, int]}
Avantages et utilisation
Les annotations de variables permettent les avantages suivants :
Nature facultative
Semblables aux astuces de saisie, les annotations de variables sont facultatives. Ils constituent un moyen pratique de transmettre des informations de type à des outils tiers.
ClassVar et variables d'instance
Alors que l'exemple de la question suggère que stats est une variable de classe , c'est en fait une variable d'instance. Les variables de classe sont annotées à l'aide de ClassVar[type], qui désigne les variables partagées entre toutes les instances d'une classe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!