Einen Decorator definieren
Dein Buddy arbeitet an einem Decorator, der vor dem Aufruf der dekorierten Funktion eine „before“-Nachricht und nach dem Aufruf eine „after“-Nachricht ausgibt. Allerdings fällt es ihm schwer, sich zu erinnern, wie das Wrappen der dekorierten Funktion funktioniert. Hilf ihm, indem du seinen Decorator print_before_and_after() fertigstellst.
Diese Übung ist Teil des Kurses
<Kurs>Funktionen in Python schreiben</Kurs>Übungsanweisungen
- Rufe die zu dekorierende Funktion auf und übergib ihr die Positionsargumente
*args. - Gib die neue dekorierte Funktion zurück.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
def print_before_and_after(func):
def wrapper(*args):
print('Before {}'.format(func.__name__))
# Call the function being decorated with *args
____(*args)
print('After {}'.format(func.__name__))
# Return the nested function
return ____
@print_before_and_after
def multiply(a, b):
print(a * b)
multiply(5, 10)