Sección 4. Capítulo 8
single
Desafío: Decoradores de Registro y Temporización
Desliza para mostrar el menú
Tarea
Desliza para comenzar a programar
- Añadir
@functools.wraps(func)encima de cada función envolvente. - En
log_calls, completarlog_messagepara mostrar el nombre de la función, los argumentos posicionales y los argumentos con nombre. - En
time_execution, antes de llamar a la función, almacenar el tiempo de inicio contime.time(). - Después de llamar a la función, almacenar el tiempo de finalización.
- Calcular y mostrar el tiempo de ejecución.
- Mostrar tanto el mensaje de registro como el de temporización.
- Orden de los decoradores:
log_callsexterno,time_executioninterno.
Resultado esperado:
Al llamar a multiply(5, 7), la salida debe ser similar a:
Calling function 'multiply' with args=(5, 7), kwargs={}
Function 'multiply' executed in X.XXXXXX seconds
35
Donde X.XXXXXX es el tiempo de ejecución formateado a seis decimales. La función debe devolver 35.
Solución
¿Todo estuvo claro?
¡Gracias por tus comentarios!
Sección 4. Capítulo 8
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla