【发布时间】:2020-08-13 02:37:33
【问题描述】:
我正在阅读here 中描述的 Python 装饰器。如果如下所示将 decorator_1 放在 func() 上方,则函数 func() 将被修饰
@decorator_1
def func():
return
如果我想并行构建两个装饰器 decorator_1 和 decorator_2,它们都使用带有 @ 语法的 func() 怎么办?我该怎么做?我不能像下面那样将一个堆叠在另一个之上,因为这会使它成为一个复合装饰器。
@decorator_2
@decorator_1
def func():
return
我知道我可以省去@语法,直接写
func1 = decorator_1(func)
func2 = decorator_2(func)
为了实现我在一个函数 func() 上并行构建两个装饰器的目标,但我想知道是否还有其他方法可以仍然使用 @ 语法来实现我的目标。
【问题讨论】:
-
不是真的,不。
-
你能给出你想要实现的用例吗......不是在python机制方面,而是在高水平......
-
@ArunKalirajaBaskaran:我在问题的最后一段中做了。我刚刚编辑了我的问题以使其更加清晰。请查看。