Можно ли передать аргументы декоратору при вызове функции в Python?Python

Программы на Python
Ответить
Anonymous
 Можно ли передать аргументы декоратору при вызове функции в Python?

Сообщение Anonymous »

Кто-нибудь знает, можно ли передавать аргументы декоратору при вызове функции в Python?
До сих пор я видел подобные вещи только в определении функции: р>

Код: Выделить всё

@decorator("This is a decorator", 66)
def func(a: int, b: int) -> None:
pass
Но мне было интересно, можно ли это сделать во время вызова функции.
что-то вроде этого:

Код: Выделить всё

func(a, b)(66)  # 66 is passed by argument to @decorator
Для тех, кому интересно, почему я хочу это сделать: это потому, что я продолжаю работу другого человека, который много использовал декораторы в своем коде. Но до сих пор ему приходилось передавать аргументы только при определении функции, поскольку функция вызывалась только один раз. Декораторы используются для печати журналов информации о контексте, в котором используется функция, но в моем случае, поскольку функция может вызываться в разных местах, контекст может отличаться в зависимости от того, где вызывается функция.


Подробнее здесь: https://stackoverflow.com/questions/723 ... on-in-pyth
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»