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 merupakan bagian dari kursus
Menulis Function di Python
Instruksi latihan
- Panggil fungsi yang didekorasi dan teruskan argumen posisional
*args. - Kembalikan fungsi baru yang sudah didekorasi.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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)