Adakah pembolehubah dalam kelas sama dengan self.var1 dalam fungsi? Kenapa mereka sama?
class test:
var1=2
def __init__(self):
print self.var1
print self.var1 is test.var1
if __name__=="__main__":
test2=test()
Selepas fungsi dijalankan,
root@lpp-ThinkPad-T420:~/python_code# python test6.py
2
True
Mengapa pembolehubah kelas var1 di sini juga self.var1 Apakah sebabnya?
var1
是类变量,self.var1
是实例变量, 当你在类初始化成test2
时,__init__
去寻找自身实例的var1
,发现没找到, 那就去基类找, 也就是test
Tengok ke dalam, kebetulan saya jumpa, jadi saya pulangkan terus kepada awakJika anda ingin mendalami, anda boleh mencari
类变量/实例变量
和python descriptor
di Google