Я пытаюсь создать декоратор из цепочки звонков.Кажется, он не поддерживается синтаксисом.
from functools import wraps
class Bar:
def wrapper(self):
def _outer(fun):
@wraps(fun)
def _f(*a, **kw):
print('I am in decorator')
return fun(*a, **kw)
return _f
return _outer
def foo():
return Bar()
# @foo().wrapper() # Invalid syntax
# def f():
# pass
# @(foo().wrapper()) # Invalid syntax
# def f():
# pass
def f():
pass
f = foo().wrapper()(f)
f()
Я что-то упустил?По некоторым причинам такая вещь была бы чрезвычайно полезна в моем проекте.
Спасибо