ComenzarEmpieza gratis

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

Ver curso

Instrucciones de ejercicio

  • Llama a la función decorada y devuelve el resultado.
  • Devuelve la nueva función decorada.
  • Decora foo() con el decorador counter().

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))
Editar y ejecutar código