Zacznij terazZacznij za darmo

Licznik

Pracujesz nad nową aplikacją internetową i zastanawiasz się, ile razy każda z funkcji jest w niej wywoływana. Postanawiasz więc napisać dekorator, który doda licznik do każdej dekorowanej funkcji. Dzięki temu będziesz w stanie sprawdzić, czy są fragmenty kodu, które można usunąć, bo aplikacja już ich nie używa.

To ćwiczenie jest częścią kursu

Pisanie funkcji w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wywołaj dekorowaną funkcję i zwróć jej wynik.
  • Zwróć nową udekorowaną funkcję.
  • Udekoruj foo() dekoratorem counter().

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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))
Edytuj i uruchom kod