LoslegenKostenlos loslegen

Zähler

Du arbeitest an einer neuen Webanwendung und bist neugierig darauf, wie oft jede der Funktionen darin aufgerufen wird. Du beschließt also, einen Dekorator zu schreiben, der jeder Funktion, die du dekorierst, einen Zähler hinzufügt. Du könntest diese Informationen in Zukunft nutzen, um festzustellen, ob es Codeabschnitte gibt, die du entfernen kannst, 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 Funktion, die dekoriert werden soll, auf und gib das Ergebnis zurück.
  • Gib die neue dekorierte Funktion zurück.
  • Dekoriere foo() mit dem counter() Dekorateur.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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