diff --git a/aula105.py b/aula105.py new file mode 100644 index 0000000..6cad9b5 --- /dev/null +++ b/aula105.py @@ -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)