Penggunaan Dekorator
Pelajaran 5 dari 12 dalam kursus Dekorator Python di Coddy.
Dalam Python, decorator adalah fungsi yang menerima fungsi lain sebagai input dan memperluas perilaku fungsi input tanpa mengubah kodenya secara langsung. Decorator adalah cara yang ampuh untuk mengubah atau meningkatkan perilaku fungsi secara fleksibel dan dapat digunakan kembali.
Berikut contoh fungsi decorator sederhana:
def my_decorator(func):
def wrapper():
print("Before the function is called.")
func()
print("After the function is called.")
return wrapperDalam contoh ini, fungsi my_decorator menerima fungsi lain, func, sebagai input dan mengembalikan fungsi baru bernama wrapper.
Fungsi wrapper menambahkan perilaku sebelum dan sesudah fungsi func dipanggil.
Tantangan
MudahTulis fungsi decorator bernama debug yang menerima fungsi func sebagai input dan mengembalikan fungsi baru yang mencetak nama func dan nilai yang dikembalikan oleh func setiap kali fungsi itu dipanggil.
Untuk mendapatkan nama
func, gunakanfunc.__name__.
Berikut contoh penggunaan decorator debug:
def hello():
return "Hello"
debug_hello = debug(hello)
debug_hello()Dalam contoh ini, kita menggunakan decorator debug untuk membungkus fungsi hello dan membuat fungsi baru bernama debug_hello. Saat kita memanggil debug_hello(), decorator akan mencetak:
Calling hello
hello returned: HelloKamu bisa menganggap semua fungsi yang diteruskan ke
debugadalah fungsi tanpa argumen.
Coba sendiri
Semua pelajaran di Dekorator Python
Latihan sendiri: Compiler Python online