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
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 demcounter()
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))