Comprendre les variables de classe et d'instance Python
En Python, les objets créés à partir d'une classe peuvent posséder deux types de variables : les variables de classe et les variables d'instance . Les variables de classe sont partagées entre toutes les instances d'une classe, tandis que les variables d'instance sont uniques à chaque instance.
Variables de classe
Les variables de classe sont définies en dehors de la méthode __init__. Ils sont déclarés à l'aide du nom de la classe, suivi d'un point et du nom de la variable. Par exemple :
<code class="python">class MyClass: class_variable = 100</code>
Toutes les instances de MyClass auront accès à la variable_classe.
Variables d'instance
Les variables d'instance sont définies dans __init__ méthode. Ils sont déclarés à l'aide du mot-clé self, suivi du nom de la variable. Par exemple :
<code class="python">class MyClass: def __init__(self): self.instance_variable = 200</code>
Chaque instance de MyClass aura sa propre instance_variable unique.
Exemple de clarification
Concernant l'exemple mentionné dans la question :
Exemple avancé
Ce qui suit L'exemple illustre un scénario plus complexe :
<code class="python">class MyClass: class_variable = ['foo'] def __init__(self): self.instance_variable = ['bar']</code>
Dans cet exemple, class_variable est une variable de classe et instance_variable est une variable d'instance. Lorsque vous accédez à x.list, vous accédez à la variable d'instance, qui a été modifiée pour contenir « chose ». Lorsque vous accédez à testClass.list, vous accédez à la variable de classe, qui reste inchangée.
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!