我想要一個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