python 中的類別變數
phpcn_u1582
phpcn_u1582 2017-06-28 09:24:34
0
1
785

在類別中的變數和函數中的self.var1是一樣的?為啥是一樣的?

class test:
    var1=2
    def __init__(self):
        print self.var1
        print self.var1 is test.var1
        
if __name__=="__main__":
    test2=test()
    

函數運行之後的是

root@lpp-ThinkPad-T420:~/python_code# python test6.py

2
True

這裡為啥類變數var1又是 self.var1?請問是什麼原因呢?

phpcn_u1582
phpcn_u1582

全部回覆(1)
習慣沉默

var1是類別變數, self.var1是實例變數, 當你在類別初始化成test2時, __init__去尋找自身實例的var1基,發現沒找到, 那就去基, 也就是test裡面找, 剛好找到額, 所以直接給你回了

如果還想更深入, 可以穀歌看下類變數/實例變數python descriptor的相關知識

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板