0
我有這樣初始化數據的屬性
class SomeClass:
def doSomething(self):
self.counter = 50
我創建一個實例x
爲SomeClass
x = SomeClass()
類當我嘗試獲取計數器的值是這樣的:x.counter
我得到的以下錯誤 -
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: SomeClass instance has no attribute 'counter'
但是在我調用成員函數x.doSomething()
然後查找數據屬性,它是可用的。
>>> x.doSomething()
>>> x.counter
50
這是爲什麼?一旦創建實例,是否所有數據屬性都不可用?
謝謝。
謝謝。遵循這個建議的做法是什麼?或者我們應該初始化'__init__'中的所有數據屬性? – bdhar 2011-03-22 08:21:21
看起來像你修改了我在之前的評論中回答我的問題的答案。謝謝。 – bdhar 2011-03-22 08:22:24
@bdhar:除非你做了一些特別的事情,否則我會建議讓所有實例屬性在構造函數中初始化。 – 2011-03-22 08:22:38