ÎncepețiÎncepe gratuit

Contor

Lucrezi la o nouă aplicație web și ești curios/curioasă de câte ori este apelată fiecare funcție din ea. Așa că decizi să scrii un decorator care adaugă un contor fiecărei funcții pe care o decorezi. Această informație îți poate fi utilă mai târziu pentru a identifica secțiuni de cod care nu mai sunt folosite de aplicație și pe care le-ai putea elimina.

Acest exercițiu face parte din cursul

Scrierea funcțiilor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Apelează funcția care urmează să fie decorată și returnează rezultatul.
  • Returnează noua funcție decorată.
  • Decorează foo() cu decoratorul counter().

Exercițiu interactiv practic

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

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