我有一個對象,如:如何動態生成代理類的方法?
class Foo(object):
def __init__(self,instance):
self.instance = instance
與
>>> instance = SomeOtherObject()
>>> f = Foo(instance)
我希望能夠做
>>> f.some_method()
,並有下列呼叫,
>>> f.instance.some_method()
對於com有些問題,我不能簡單地把上面的屬性鏈接起來。我需要在f
上動態創建一個實例函數,其功能簽名與嵌入的instance
相同。也就是說,我需要執行f.some_method()
,然後在調用實例時動態創建some_method
實例方法,該方法將some_method
向下推入嵌入對象instance
。
我希望這是有道理的。這是爲Python 2.7。任何幫助讚賞。
要在你的代碼中創建一個'Foo',你必須通過一個其他的實例作爲參數,所以'f = Foo()'會導致錯誤。 – martineau