Декоратор-это функция, которая может использовать функцию в качестве аргумента и расширять ее функциональность, а также возвращает измененную функцию с расширенной функциональностью.
Итак, здесь, в этом посте, мы расскажем о цепочке декораторов. Создание цепочки декораторов означает применение нескольких декораторов внутри функции. Python позволяет нам реализовать в функции более одного декоратора. Это делает декораторов полезными для строительных блоков resuabale, поскольку они объединяют несколько эффектов вместе. Он также известен как вложенные декораторы в Python.
Синтаксис:
@decor1
@decor
def num():
statement(s)
Пример:
Для функции num() мы применяем 2 функции декоратора. Сначала будет работать внутренний декоратор, а затем внешний декоратор.
# 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