Začněte nyníZačněte zdarma

Context manager timer()

Tvůj kolega pracuje na webové službě, která zpracovává fotografie z Instagramu. Zákazníci si stěžují, že služba příliš dlouho zjišťuje, jestli je na snímku kočka. Kolega tě požádal o pomoc, a tak se rozhodneš napsat context manager, který mu umožní měřit, jak dlouho jednotlivé funkce běží.

Toto cvičení je součástí kurzu

Writing Functions in Python

Zobrazit kurz

Pokyny k cvičení

  • Přidej k funkci timer() dekorátor z modulu contextlib, který z ní udělá context manager.
  • Předej řízení z funkce timer() do bloku kontextu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód