Curso-lenguaje-python/python-ofensivo/00_ejercicios/06_decoradores03.py

30 lines
600 B
Python
Raw Normal View History

2023-12-26 23:56:20 +01:00
#!/usr/bin/env python3
"""
Decoradores
"""
import time
def cronometro(funcion):
def envoltura(n): # Si la función recibe parámetros se deben pasar a la envoltura
inicio = time.time()
funcion(n) # Si la función recibe parámetros se deben pasar a la función
final = time.time()
print(f"""Tiempo de ejecución de la función {funcion.__name__}:
{round(final - inicio, 5)} segundos""")
return envoltura
@cronometro
def pausa_corta(num):
time.sleep(num)
@cronometro
def pausa_larga(num):
time.sleep(num)
pausa_corta(2)
pausa_larga(3)