Een decorator definiëren
Je buddy werkt aan een decorator die een "before"-bericht print vóórdat de gedecoreerde functie wordt aangeroepen en een "after"-bericht ná de aanroep. Ze weten niet meer precies hoe het omhullen (wrappen) van de gedecoreerde functie werkt. Help door hun print_before_and_after()-decorator af te maken.
Deze oefening maakt deel uit van de cursus
Functies schrijven in Python
Oefeninstructies
- Roep de te decoreren functie aan en geef de positionele argumenten
*argsdoor. - Retourneer de nieuwe gedecoreerde functie.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)