Kom igångKom igång gratis

Räknare

Du arbetar med en ny webbapp och vill veta hur många gånger var och en av funktionerna i den anropas. Därför bestämmer du dig för att skriva en dekorator som lägger till en räknare till varje funktion du dekorerar. Den informationen kan du senare använda för att avgöra om det finns delar av koden som kan tas bort, eftersom de inte längre används av appen.

Den här övningen är en del av kursen

Att skriva funktioner i Python

Visa kurs

Övningsinstruktioner

  • Anropa funktionen som dekoreras och returnera resultatet.
  • Returnera den nya dekorerade funktionen.
  • Dekorera foo() med dekoratorn counter().

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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))
Redigera och kör kod