Contador
Estás trabajando en una nueva aplicación web y tienes curiosidad por saber cuántas veces se llama a cada una de las funciones que contiene. Así que decides escribir un decorador que añada un contador a cada función que decores. Podrías utilizar esta información en el futuro para determinar si hay secciones de código que podrías eliminar porque ya no las utiliza la aplicación.
Este ejercicio forma parte del curso
Escribir funciones en Python
Instrucciones de ejercicio
- Llama a la función decorada y devuelve el resultado.
- Devuelve la nueva función decorada.
- Decora
foo()
con el decoradorcounter()
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
def counter(func):
def wrapper(*args, **kwargs):
wrapper.count += 1
# Call the function being decorated and return the result
return ____
# Set count to 0 to initialize call count for each new decorated function
wrapper.count = 0
# Return the new decorated function
____
# Decorate foo() with the counter() decorator
____
def foo():
print('calling foo()')
foo()
foo()
print('foo() was called {} times.'.format(foo.count))