PythonTingkat: Lanjutan7 min
Function Decorators (@) & Wrapper Functions
Pelajari konsep decorator Python: fungsi tingkat tinggi yang menerima fungsi lain sebagai argumen dan memperluas perilakunya tanpa mengubah kode sumber asli.
Konsep First-Class Functions & Closures
Pratinjau TerbukaDi Python, fungsi adalah first-class citizen yang dapat disimpan dalam variabel, diteruskan sebagai argumen, dan dikembalikan dari fungsi lain.
Poin Penting:
Decorator menggunakan sintaks praktis tanda @ di atas definisi fungsi.
Fungsi wrapper membungkus fungsi target untuk menyuntikkan logika logging, autentikasi, atau pengukuran waktu.
Fungsi functools.wraps digunakan untuk melestarikan metadata nama dan docstring fungsi asli.
Contoh Kode Sintaks
import functools
import time
def ukur_waktu(func):
@functools.wraps(func)
def wrapper(*args, **kwargs):
mulai = time.perf_counter()
hasil = func(*args, **kwargs)
durasi = time.perf_counter() - mulai
print(f"[METRIK] {func.__name__} selesai dalam {durasi * 1000:.2f} ms")
return hasil
return wrapper
@ukur_waktu
def proses_matriks(n):
return sum(i * i for i in range(n))
hasil = proses_matriks(100000)Live Compiler Runner
Akses Kursus Wajib Login
Buka Akses Penuh Silabus & Praktikum
Masuk dengan akun GitHub, Google, atau Akses Cepat Developer untuk membuka seluruh materi mendalam, menjalankan compiler interaktif, mengerjakan kuis, dan menyimpan progres belajar Anda.
145+ Modul Lengkap•Tersimpan Otomatis•Sertifikat Kelulusan Resmi