Dekorator
Pelajari cara menggunakan dekorator untuk mengubah atau memperluas fungsi.
Dekorator adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 5. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 5 pelajaran total.
Pengantar decorator
Pengantar decorator
decorator merupakan fitur yang andal dalam Python yang memungkinkan Anda mengubah perilaku fungsi atau metode. decorator sering digunakan untuk menambahkan fungsionalitas ke fungsi tanpa mengubah kodenya.
Dalam pelajaran ini, Anda akan mempelajari apa itu decorator, cara menggunakannya, dan cara membuat decorator sendiri.

Apa Itu decorator?
Apa Itu decorator?
decorator adalah fungsi yang menerima fungsi lain sebagai masukan dan mengembalikan fungsi baru dengan fungsionalitas tambahan. decorator sering digunakan dengan sintaks @decorator_name.
# Basic example of a decorator
def decorator(func):
def wrapper():
print("Before the function call")
func()
print("After the function call")
return wrapper
@decorator
def say_hello():
print("Hello!")
say_hello()Cara Kerja decorator
Cara Kerja decorator
Saat Anda menggunakan decorator, Python mengganti fungsi asli dengan fungsi wrapper yang dikembalikan oleh decorator.
# How decorators work
def decorator(func):
def wrapper():
print("Wrapper called")
func()
return wrapper
@decorator
def greet():
print("Greetings!")
print(greet.__name__) # Outputs: wrapper
greet()Menggunakan decorator dengan Argumen
Menggunakan decorator dengan Argumen
decorator dapat digunakan dengan fungsi yang menerima argumen menggunakan *args dan **kwargs dalam fungsi wrapper:
# Decorator for functions with arguments
def decorator(func):
def wrapper(*args, **kwargs):
print(f"Arguments: {args}, {kwargs}")
return func(*args, **kwargs)
return wrapper
@decorator
def add(a, b):
return a + b
print(add(3, 5))Merangkai Beberapa Dekorator
Merangkai Beberapa Dekorator
Anda dapat menggunakan beberapa dekorator pada satu fungsi. Dekorator diterapkan sesuai urutan kemunculannya, dari atas ke bawah:
# Chaining multiple decorators
def decorator1(func):
def wrapper():
print("Decorator 1")
func()
return wrapper
def decorator2(func):
def wrapper():
print("Decorator 2")
func()
return wrapper
@decorator1
@decorator2
def greet():
print("Hello!")
greet()Membuat Dekorator Berparameter
Membuat Dekorator Berparameter
Dekorator berparameter menerima argumen dan memungkinkan fungsionalitas yang lebih fleksibel:
# Parameterized decorator
def repeat(times):
def decorator(func):
def wrapper(*args, **kwargs):
for _ in range(times):
func(*args, **kwargs)
return wrapper
return decorator
@repeat(3)
def say_hello():
print("Hello!")
say_hello()Kasus Penggunaan Umum Dekorator
Kasus Penggunaan Umum Dekorator
Dekorator umum digunakan untuk:
- Mencatat pemanggilan fungsi dan argumennya.
- Mengukur waktu eksekusi fungsi.
- Mengontrol akses, misalnya dengan memeriksa izin pengguna.
- Menyimpan hasil sementara untuk meningkatkan kinerja.
Dekorator Bawaan di Python
Dekorator Bawaan di Python
Python menyediakan beberapa dekorator bawaan, termasuk:
@staticmethod: Menentukan metode statis.@classmethod: Menentukan metode kelas.@property: Menentukan metode properti.
Kesalahan Umum dalam Penggunaan Dekorator
Kesalahan Umum dalam Penggunaan Dekorator
Berikut beberapa kesalahan yang perlu dihindari:
- Tidak mempertahankan nama dan string dokumentasi fungsi asli (gunakan
functools.wraps). - Menggunakan dekorator secara tidak perlu untuk tugas sederhana.
- Lupa menangani argumen dalam fungsi pembungkus.
Apa yang Telah Kita Pelajari?
Apa yang Telah Kita Pelajari?
Dalam pelajaran ini, Anda telah mempelajari:
- Apa itu dekorator dan cara kerjanya di Python.
- Cara membuat dan menggunakan dekorator dasar, berparameter, dan berantai.
- Kasus penggunaan umum serta dekorator bawaan di Python.
Bagus sekali! Mari kita beralih ke topik berikutnya.

Pertanyaan yang Sering Diajukan
Apakah pelajaran “Dekorator” gratis?
Ya — teks lengkap “Dekorator” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 5 pelajaran total.
Apa yang akan aku pelajari di “Dekorator”?
Pelajari cara menggunakan dekorator untuk mengubah atau memperluas fungsi. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Python Academy?
Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 5.
Berapa lama pelajaran “Dekorator” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Dekorator
- Generator
- Pengelola Konteks (Pernyataan with)
- Pemahaman (Daftar, Himpunan, dan Kamus)
- Iterator dan Iterable