Я новичок в декораторах Python. Я могу запускать декоратор, не передавая никаких аргументов. И работает нормально.
Я заинтересован в передаче значения to_decorator функции декоратора, как показано ниже.
Это возможно?
def test(self, *args):
return "from test"
def decorate(function):
def wrap_function(*args, **kwargs):
print(*args)
return function(*args, **kwargs)
return wrap_function
class Sample():
@decorate
def message(*args, **kwargs):
to_decorator = test(*args)
print(to_decorator)
Sample.message("Hello123")
Заранее спасибо.
Я думаю, что здесь было бы здорово использовать пример ввода / вывода. То, о чем вы просите (передача аргумента декоратору), возможно, но ваш пример использования выше нечетный. to_decorator не будет инициализирован на этом этапе, и неясно, что вы ожидаете от этого.
Я хотел бы передать вывод тестовой функции функции декоратора to_decorator. Возможно ли это сделать.






Попробуйте запустить этот код, и вы увидите, возможно ли это. Во всяком случае, ваш вопрос непонятен. Во-первых, ваш код имеет плохой отступ, что недопустимо в Python. Затем он ссылается на
to_decoratorперед его определением, что не работает. Однако также неясно, чего вы хотите этим добиться. Можете ли вы написать код, функционально эквивалентный тому, чего вы хотите достичь без декораторов?