You are currently viewing Цепочка из нескольких декораторов на Python

Цепочка из нескольких декораторов на Python

Декоратор-это функция, которая может использовать функцию в качестве аргумента и расширять ее функциональность, а также возвращает измененную функцию с расширенной функциональностью.

Итак, здесь, в этом посте, мы расскажем о цепочке декораторов. Создание цепочки декораторов означает применение нескольких декораторов внутри функции. 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