Я хочу реализовать шаблон decorator в Python, и я задавался вопросом, есть ли способ написать декоратор, который просто реализует функцию it хочет изменить, без написания котельной плиты для всех функций, которые только что переданы украшенному объекту. Например:
class foo(object):
def f1(self):
print "original f1"
def f2(self):
print "original f2"
class foo_decorator(object):
def __init__(self, decoratee):
self._decoratee = decoratee
def f1(self):
print "decorated f1"
self._decoratee.f1()
def f2(self): # I would like to leave that part out
self._decoratee.f2()
Я бы хотел, чтобы звонки в foo_decorator.f2
были перенаправлены на decoratee.f2
автоматически. Есть ли способ написать общий метод, который перенаправляет все нереализованные вызовы функций на decoratee
?