Mendefinisikan sebuah dekorator
Rekan Anda sedang mengerjakan sebuah dekorator yang mencetak pesan "before" sebelum fungsi yang didekorasi dipanggil dan mencetak pesan "after" setelah fungsi tersebut dipanggil. Mereka kesulitan mengingat cara kerja pembungkusan fungsi yang didekorasi. Bantu mereka dengan melengkapi dekorator print_before_and_after().
Latihan ini adalah bagian dari kursus
Menulis Function di Python
Petunjuk latihan
- Panggil fungsi yang didekorasi dan teruskan argumen posisional
*args. - Kembalikan fungsi baru yang sudah didekorasi.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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)