Допустим, у меня есть функция, украшенная несколькими декораторами.
# file.py
@deco1
@deco2('param')
@deco3(
'multiple',
'long',
'params'
)
@deco4('multiple', 'params')
def foo():
"""Function foo
"""
pass
Скажем так, она выглядит очень грязно. ОЧЕНЬ грязно.
Я хочу иметь возможность делать что-то вроде этого.
# another_file.py
@deco1
@deco2('param')
@deco3(
'multiple',
'long',
'params'
)
@deco4('multiple', 'params')
def all_decorators_for_foo():
...
# file.py
from another_file import all_decorators_for_foo
@all_decorators_for_foo
def foo():
"""Yay!
"""
...
Просто ради контекста, несколько декораторов являются декораторами документации для sani * 1017. * framework.
Возможно ли в python добиться чего-то подобного?
Этот вопрос никоим образом не отвечает на мой вопрос. В любом случае декораторы можно складывать и использовать. Мне нужен какой-то декоратор, который можно использовать вместо всех уложенных друг на друга декораторов.