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 Terbuka

Di 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