Ich habe ein Objekt wie:wie dynamisch Methoden für die Proxy-Klasse generieren?
class Foo(object):
def __init__(self,instance):
self.instance = instance
mit
>>> instance = SomeOtherObject()
>>> f = Foo(instance)
Ich möchte
>>> f.some_method()
tun zu können und haben den folgenden Aufruf,
>>> f.instance.some_method()
Für com Aus Gründen kann ich die Attribute nicht einfach wie oben verketten. Ich muss eine Instanzfunktion auf f
mit der gleichen Funktionssignatur wie das eingebettete instance
dynamisch erstellen. Das heißt, ich muss f.some_method()
machen und dann dynamisch die Instanz-Methode some_method
für die f
Instanz erstellen, wenn sie aufgerufen wird, die some_method
auf das eingebettete Objekt instance
herunterdrückt.
Ich hoffe, dass es Sinn gemacht. Dies ist für Python 2.7. Jede Hilfe wird geschätzt.
Um ein "Foo" in Ihrem Code zu erstellen, muss eine Instanz von etwas anderem als Argument übergeben werden, so dass 'f = Foo()' einen Fehler verursachen würde. – martineau