Mulai sekarangMulai gratis

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

Lihat Kursus

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)
Edit dan Jalankan Kode