Les variables d'une classe sont-elles identiques à self.var1 dans une fonction ? Pourquoi sont-ils pareils ?
class test:
var1=2
def __init__(self):
print self.var1
print self.var1 is test.var1
if __name__=="__main__":
test2=test()
Une fois la fonction exécutée,
root@lpp-ThinkPad-T420:~/python_code# python test6.py
2
True
Pourquoi la variable de classe var1 ici est-elle également self.var1 ?
var1
是类变量,self.var1
是实例变量, 当你在类初始化成test2
时,__init__
去寻找自身实例的var1
,发现没找到, 那就去基类找, 也就是test
En regardant à l'intérieur, je l'ai trouvé par hasard, alors je vous l'ai rendu directementSi vous souhaitez approfondir, vous pouvez effectuer une recherche
类变量/实例变量
和python descriptor
sur Google