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 ihnen schwer, sich zu erinnern, wie das Wrappen der dekorierten Funktion funktioniert. Hilf ihnen, indem du ihren 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)