diff --git a/Roadmap/24 - DECORADORES/python/edalmava.py b/Roadmap/24 - DECORADORES/python/edalmava.py new file mode 100644 index 0000000000..a430709e9e --- /dev/null +++ b/Roadmap/24 - DECORADORES/python/edalmava.py @@ -0,0 +1,35 @@ +def decorador(funcion): + def wrapper(*a, **b): + print("La función no se ha llamado") + funcion(*a, **b) + print("La función ha sido llamada") + return + return wrapper + +@decorador +def funcion(a, b): + pass + +funcion(1, 2) + +print("") +print("***RETO EXTRA***") +print("") + +def contar(funcion): + def wrapper(*a): + wrapper.contador += 1 + funcion(*a) + veces = 'vez' if wrapper.contador == 1 else 'veces' + print(f"La función ha sido llamada { wrapper.contador } { veces }") + + wrapper.contador = 0 + return wrapper + +@contar +def sumar(a, b): + return a + b + +sumar(1, 2) +sumar(3, 4) +sumar(5, 6)