在學習類變量的過程的中遇到以下幾個問題:
- 類變量的調用方法有?
- 他們之間有什麼區別
先看結論再看代碼:
一、調用方法
- 在實例方法中:
1.“類名.類變量”調用
2.“self.類變量”調用
- 在類方法中:
1.“類名.類變量”調用
2.“cls.類變量”調用
二、區別
首先得明白類變量和實例變量各存在一個副本
意思是**你用實例方法調用類變量實際上是在實例變量的副本上覆制了類變量,這也解釋了通過self.類變量改變類變量,
類變量不受影響**
而調用類方法調用類變量是可以改變類變量的
下面貼代碼(#後是運行結果)
`class t:
e =12
def add(self):
self.e = self.e + 12
print(self.e)#24
@classmethod
def power(cls,x):
cls.e = t.e*x
T =t()
T.add()
print(t.e)#12
T.power(2)
print(t.e)#24`
ps:文章寫得不好的地方,歡迎各位大佬指正