Definiera en dekoratör
Din kollega har jobbat på en dekoratör som skriver ut ett "before"-meddelande innan den dekorerade funktionen anropas och ett "after"-meddelande efteråt. De har svårt att komma ihåg hur inpackningen av den dekorerade funktionen ska gå till. Hjälp dem på traven genom att slutföra deras print_before_and_after()-dekoratör.
Den här övningen är en del av kursen
Att skriva funktioner i Python
Övningsinstruktioner
- Anropa funktionen som dekoreras och skicka med positionsargumenten
*args. - Returnera den nya dekorerade funktionen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)