MulaiMulai sekarang secara gratis

Penghitung

Anda sedang mengerjakan aplikasi web baru dan ingin tahu berapa kali setiap fungsi di dalamnya dipanggil. Jadi, Anda memutuskan untuk menulis sebuah dekorator yang menambahkan penghitung ke setiap fungsi yang Anda dekorasi. Informasi ini dapat Anda gunakan di masa mendatang untuk menentukan apakah ada bagian kode yang dapat dihapus karena tidak lagi digunakan oleh aplikasi.

Latihan ini adalah bagian dari kursus

Menulis Function di Python

Lihat Kursus

Petunjuk latihan

  • Panggil fungsi yang didekorasi dan kembalikan hasilnya.
  • Kembalikan fungsi baru yang telah didekorasi.
  • Dekorasi foo() dengan dekorator counter().

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

def counter(func):
  def wrapper(*args, **kwargs):
    wrapper.count += 1
    # Call the function being decorated and return the result
    return ____
  # Set count to 0 to initialize call count for each new decorated function
  wrapper.count = 0
  # Return the new decorated function
  ____

# Decorate foo() with the counter() decorator
____
def foo():
  print('calling foo()')
  
foo()
foo()

print('foo() was called {} times.'.format(foo.count))
Edit dan Jalankan Kode