LoslegenKostenlos loslegen

Zähler

Du arbeitest an einer neuen Web-App und willst wissen, wie oft jede Funktion aufgerufen wird. Also schreibst du einen Dekorator, der jeder dekorierten Funktion einen Zähler hinzufügt. Diese Information kannst du später nutzen, um herauszufinden, ob es Codestellen gibt, die du entfernen könntest, weil sie von der App nicht mehr verwendet werden.

Diese Übung ist Teil des Kurses

Funktionen in Python schreiben

Kurs anzeigen

Anleitung zur Übung

  • Rufe die zu dekorierende Funktion auf und gib das Ergebnis zurück.
  • Gib die neue dekorierte Funktion zurück.
  • Dekoriere foo() mit dem Dekorator counter().

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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))
Code bearbeiten und ausführen