PythonTingkat: Lanjutan7 min

Custom Context Managers & Modul contextlib

Pelajari cara mengelola siklus hidup resource secara elegan menggunakan protokol __enter__ dan __exit__ atau decorator praktis @contextmanager dari pustaka contextlib.

Protokol Context Manager (__enter__ dan __exit__)

Pratinjau Terbuka

Pernyataan with memastikan pelepasan resource (koneksi basis data, lock thread, file) terjadi secara pasti meskipun eksepsi muncul di tengah eksekusi.

Contoh Kode Sintaks
import time
from contextlib import contextmanager

# Cara 1: Menggunakan decorator @contextmanager
@contextmanager
def pengukur_durasi(label):
    mulai = time.perf_counter()
    try:
        yield
    finally:
        selesai = time.perf_counter()
        print(f"[BENCHMARK] {label}: {(selesai - mulai) * 1000:.2f} ms")

# Penggunaan
with pengukur_durasi("Kalkulasi Pangkat"):
    total = sum(i ** 2 for i in range(500000))

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