我只花了太长像下面这样的错误: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