📜  在Python中链接多个装饰器

📅  最后修改于: 2022-05-13 01:54:27.440000             🧑  作者: Mango

在Python中链接多个装饰器

装饰器是一个可以将函数作为参数并扩展其函数并返回具有扩展功能的修改函数的函数。

所以,在这篇文章中,我们将学习装饰器链。链接装饰器意味着在一个函数中应用多个装饰器。 Python允许我们为一个函数实现多个装饰器。它使装饰器可用于可重用构建块,因为它将几种效果累积在一起。它也被称为Python中的嵌套装饰器。

句法:

@decor1
@decor
def num():
    statement(s)    

示例:对于 num()函数,我们应用了 2 个装饰器函数。首先内部装饰器将工作,然后外部装饰器。

Python3
# code for testing decorator chaining
def decor1(func):
    def inner():
        x = func()
        return x * x
    return inner
  
def decor(func):
    def inner():
        x = func()
        return 2 * x
    return inner
  
@decor1
@decor
def num():
    return 10
  
print(num())


输出:

400