У меня есть функция f1 вручную:вызова декоратора, который принимает аргументы
def f1():
return True
У меня также есть декоратор, который принимает аргументы, которые могут быть использованы, как это:
@validate_arguments(arg1, arg2)
Я пытаюсь вызовите f1
вручную без @
(для тестирования и повторного использования), но это, похоже, не работает.
Так что-то вроде:
validate_arguments(f1, arg1, arg2)
Причина это не работает, потому что validate_arguments
это функция, которая принимает аргументы в качестве параметров, и содержит замыкание, которое является фактическим декоратор.
Нет ли способа делать то, что я хочу? Чтобы вручную вызвать декоратор по функции без @
, для декоратора, который принимает аргументы?
Слегка связаны: если вы хотите, чтобы вызвать декоратор без прохождения в функции (например, декоратор выполняет свою работу в глобальном масштабе): 'the_decorator (лямбда: Нет) () ' – fgblomqvist