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
Funktionen in Python schreiben
Anleitung zur Übung
- Rufe die zu dekorierende Funktion auf und übergib ihr die Positionsargumente
*args. - Gib die neue dekorierte Funktion zurück.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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)