From 9987408dce29f39c772e645f635bea1f3c9224ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luiz=20Ot=C3=A1vio?= Date: Sun, 6 Nov 2022 08:57:18 -0300 Subject: [PATCH] =?UTF-8?q?Decoradores=20com=20par=C3=A2metros?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aula105.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 aula105.py 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)