У меня есть объект, как:Как динамически генерировать методы для класса proxy?
class Foo(object):
def __init__(self,instance):
self.instance = instance
с
>>> instance = SomeOtherObject()
>>> f = Foo(instance)
Я хочу быть в состоянии сделать
>>> f.some_method()
и имеют следующий вызов,
>>> f.instance.some_method()
Для ком по разным причинам я не могу просто связать атрибуты, как в приведенном выше. Мне нужно динамически создать функцию экземпляра на f
с той же сигнатурой функции, что и встроенный instance
. То есть, мне нужно сделать f.some_method()
, а затем динамически создать экземпляр метода some_method
для экземпляра f
, когда он вызывается, который толкает some_method
до внедренного объекта instance
.
я надеюсь это сделал. Это для Python 2.7. Любая помощь оценивается.
Чтобы создать 'Foo' в вашем коде, нужно передать экземпляр чего-либо другого в качестве аргумента, поэтому' f = Foo() 'приведет к ошибке. – martineau