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
Petunjuk latihan
- Panggil fungsi yang didekorasi dan kembalikan hasilnya.
- Kembalikan fungsi baru yang telah didekorasi.
- Dekorasi
foo()dengan dekoratorcounter().
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))