我只花了太長像下面這樣的錯誤:Python:類可以禁止客戶端設置新的屬性嗎?
>>> class Odp():
def __init__(self):
self.foo = "bar"
>>> o = Odp()
>>> o.raw_foo = 3 # oops - meant o.foo
我有一個屬性的類。我試圖設置它,並想知道爲什麼它沒有效果。然後,我回到原來的類定義,並看到該屬性被命名爲稍有不同。因此,我創建/設置了一個新的屬性,而不是其中的一個。
首先,這不正是靜態類型語言應該防止的錯誤類型嗎?在這種情況下,動態類型的優點是什麼?
其次,在定義Odp
時,有沒有一種方法可以禁止這種情況,從而爲自己省去了麻煩?
可能的重複:http://stackoverflow.com/questions/3079306/how-to-protect-againt-typos-when-setting-value-for-class-members – detly 2010-06-29 03:06:30