我寫了下面的包裝類。我想定義__setattr__
,以便將所有屬性重定向到包裝類。但是,這阻止了我初始化包裝類。任何優雅的方式解決這個問題?乾淨的方式來禁用`__setattr__`,直到初始化後
class Wrapper:
def __init__(self, value):
# How to use the default '__setattr__' inside '__init__'?
self.value = value
def __setattr__(self, name, value):
setattr(self.value, name, value)
是什麼'Wrapper'包裝?爲什麼它不繼承'object'? – 2012-10-21 14:54:23
@Tichodroma它包裝任何東西。我在一個GUI應用程序中使用它;包裝對象被修改時,包裝會通知偵聽器。它不會從'object'繼承,因爲我只想使用Python 3. –