ÎncepețiÎncepe gratuit

Managerul de context timer()

Un coleg de-al tău lucrează la un serviciu web care procesează fotografii de pe Instagram. Clienții se plâng că serviciul durează prea mult să determine dacă o imagine conține sau nu o pisică, așa că el a apelat la tine pentru ajutor. Decizi să scrii un manager de context pe care îl poate folosi pentru a măsura cât timp rulează funcțiile sale.

Acest exercițiu face parte din cursul

Scrierea funcțiilor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Adaugă un decorator din modulul contextlib la funcția timer(), astfel încât aceasta să se comporte ca un manager de context.
  • Transferă controlul din funcția timer() către blocul de context.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul