ComenzarEmpieza gratis

El gestor de contexto timer()

Un colega tuyo está trabajando en un servicio web que procesa fotos de Instagram. Los clientes se quejan de que el servicio tarda demasiado en identificar si una imagen contiene o no un gato, así que tu colega ha acudido a ti en busca de ayuda. Decides escribir un gestor de contexto que puedan utilizar para cronometrar el tiempo que tardan en ejecutarse sus funciones.

Este ejercicio forma parte del curso

Escribir funciones en Python

Ver curso

Instrucciones de ejercicio

  • Añade un decorador del módulo contextlib a la función timer() que hará que actúe como un gestor de contexto.
  • Envía el control de la función timer() al bloque de contexto.

Ejercicio interactivo práctico

Pruebe este ejercicio completando este código de muestra.

# Add a decorator that will make timer() a context manager
@contextlib.____
def timer():
  """Time the execution of a context block.

  Yields:
    None
  """
  start = time.time()
  # Send control back to the context block
  ____
  end = time.time()
  print('Elapsed: {:.2f}s'.format(end - start))

with timer():
  print('This should take approximately 0.25 seconds')
  time.sleep(0.25)
Editar y ejecutar código