Accès aux variables de classe statiques dans les méthodes
Lors de la tentative d'accès aux variables de classe dans les méthodes, une erreur peut se produire en raison des différences d'espace de noms. L'extrait de code ci-dessous illustre ce problème :
<code class="python">class Foo(object): bar = 1 def bah(self): print(bar) # NameError: global name 'bar' is not defined</code>
Solution
Pour accéder aux variables de classe statiques dans les méthodes, utilisez self.bar ou Foo.bar. Foo.bar crée une variable statique, tandis que self.bar crée une variable d'instance. Ainsi, les révisions suivantes résolvent le problème :
Accès à la variable de classe statique : self.bar
<code class="python"> def bah(self): print(self.bar)</code>
Créer une variable de classe statique : Foo.bar
<code class="python">def bah(self): print(Foo.bar)</code>
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!