您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關python實例變量和類變量是不是一樣的的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
Python變量的本質:被賦值
1 普通python變量(非類相關變量)很容易理解,在被賦值后即變量存在,可讀可寫
2 Python類的變量(類變量和實例對象變量)以某種方式在某地方被賦值,即存在,可被讀寫
2.1 Python類變量被賦值
(1)類的設計里,
class里def外,通過變量名能被賦值
def里通過類對象即類名字的點運算變量名可被賦值
(2)程序里
通過類對象(類名字)的點運算類名字也可被賦值
2.2 Python實例對象變量被賦值
(1)類的設計時
def里通過self點運算變量名能被賦值,不一定非在init里,其他已被調用的方法函數里也行
(2)程序里
通過實例對象的點運算變量名可被賦值
class aa: w = 10 def __init__(self): self.x = 11 self.y = 12 def add(self): return self.x + self.y a = aa() print (a.add()) //輸出23 # 下邊兩條指令各起何作用?結果是輸出兩個 20 么?還是兩個13?還是? aa.w = 20 a.w = 13 print (aa.w, a.w) //輸出20 13 # 程序繼續增加如下,怎樣理解這t和q呢?他們是實例變量 a.t = 14 a.q = 15 print (a.t, a.q) //輸出14 15 # 程序繼續增加如下,怎樣理解這m和n呢?他們是類變量 aa.m = 30 aa.n = 40 print (aa.m, aa.n) //輸入30 40 # 好了再來個提升吧 # 程序繼續增加,下列三個print語句都能正確執行么?為何? b = aa() print (b.x, b.y) //正確輸出11 12 print (b.t, b.q) //出錯,因為不是一個實例了 print (b.m, b.n) //正確輸出30 40
感謝各位的閱讀!關于python實例變量和類變量是不是一樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。