我剛剛看了一下Python中的類和方法變量,我想知道是否有這兩個例子之間的差異:聲明類方法中的新變量
class Example(object):
def __init__(self, nr1, nr2):
self.a = nr1
self.b = nr2
def Add(self):
c = self.a + self.b
return c
class Example2(object):
def __init__(self, nr1, nr2):
self.a = nr1
self.b = nr2
def Add(self):
self.c = self.a + self.b
return self.c
基本上,如果我做的:
print Example(3,4).Add()
print Example2(3,4).Add()
我得到了相同的結果:
7
7
所以我的問題是:
self.c = self.a + self.b
和c = self.a + self.b
有什麼區別?- 應該用
self
聲明聲明在類內聲明的所有新變量嗎?
感謝您的幫助!
'self.c'是一個附加到該對象的變量,而'c'是一個**局部**變量。 –
@WillemVanOnsem:那麼我可以在方法中聲明新的類實例變量? – Litwos
那些不是**類變量**。這些是**對象變量**。是的,一個對象基本上是一個字典,你可以在方法中添加/修改/刪除這些項目。 –