Decoradores com parâmetros

This commit is contained in:
Luiz Otávio
2022-11-06 08:57:18 -03:00
parent 015991d667
commit 9987408dce

26
aula105.py Normal file
View File

@@ -0,0 +1,26 @@
# Decoradores com parâmetros
def fabrica_de_decoradores(a=None, b=None, c=None):
def fabrica_de_funcoes(func):
print('Decoradora 1')
def aninhada(*args, **kwargs):
print('Parâmetros do decorador, ', a, b, c)
print('Aninhada')
res = func(*args, **kwargs)
return res
return aninhada
return fabrica_de_funcoes
@fabrica_de_decoradores(1, 2, 3)
def soma(x, y):
return x + y
decoradora = fabrica_de_decoradores()
multiplica = decoradora(lambda x, y: x * y)
dez_mais_cinco = soma(10, 5)
dez_vezes_cinco = multiplica(10, 5)
print(dez_mais_cinco)
print(dez_vezes_cinco)