De Plongez dans Python:variables de classe Python ou variables de classe en général
attributs de classe sont disponibles à la fois par référence directe à la classe et par une instance de la classe.
Les attributs de classe peuvent être utilisés comme des constantes au niveau de la classe, mais ils sont et ne sont pas vraiment des constantes. Vous pouvez également les changer.
Je tape ceci dans IDLE:
IDLE 2.6.5
>>> class c:
counter=0
>>> c
<class __main__.c at 0xb64cb1dc>
>>> v=c()
>>> v.__class__
<class __main__.c at 0xb64cb1dc>
>>> v.counter += 1
>>> v.counter
1
>>> c.counter
0
>>>
Alors qu'est-ce que je fais mal? Pourquoi la variable de classe ne conserve pas sa valeur à la fois par référence directe à la classe et à travers une instance de la classe.
Puisque c.counter est toujours 0, vous n'avez évidemment pas changé sa valeur. Vous avez modifié la valeur de l'attribut compteur de l'instance v. –
Vous cherchez des "variables de classe statique", je pense. Peut-être un doublon de http: // stackoverflow.com/questions/68645/static-class-variables-in-python –