Кто-нибудь знает, можно ли передавать аргументы декоратору при вызове функции в 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