我想要一个Python类,充当另一个Python类的包装。在Python中创建一个门面2.5
像这样的事情
class xxx:
name = property(fset=lambda self, v: setattr(self.inner, 'name', v), fget=lambda self: getattr(self.inner, 'name'))
def setWrapper(self, obj)
self.inner = obj
所以当有人说XXX()X = '你好',我希望它设置XXX()的值。inner.whatever,而不是演XXX()X。
这可能吗?我一直在尝试lambda,但无济于事。我正在使用Python 2.5
编辑: 现在我的妻子并没有让我睡觉,所以我可以更多地清理代码。我有点想到你们下面有什么,但从docs看来,你应该避免重写__setattr__/__getattr__
并使用属性。如果通过属性功能无法做到这一点,那么我将使用__setattr__/__getattr__
?谢谢
好一点,我已经编辑我的例子,以配合你的。 =) – Benno 2009-09-24 03:31:37