Dekorator
Pelajari cara menggunakan dekorator untuk mengubah atau memperluas fungsi
Dekorator adalah pelajaran Python For Kids 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 For Kids, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python For Kids mencakup 5 pelajaran total.
Pengantar Dekorator
Dekorator adalah fitur canggih dalam Python yang memungkinkan Anda mengubah perilaku fungsi atau metode. Dekorator sering digunakan untuk menambahkan fungsionalitas ke fungsi tanpa mengubah kodenya.
Dalam pelajaran ini, Anda akan mempelajari apa itu dekorator, cara menggunakannya, dan cara membuat dekorator sendiri.

Apa Itu Dekorator?
Dekorator adalah fungsi yang menerima fungsi lain sebagai input dan mengembalikan fungsi baru dengan fungsionalitas tambahan. Dekorator 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 Dekorator
Saat Anda menggunakan dekorator, Python mengganti fungsi asli dengan fungsi pembungkus yang dikembalikan oleh dekorator.
# 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 Dekorator dengan Argumen
Dekorator dapat bekerja dengan fungsi yang menerima argumen dengan menggunakan *args dan **kwargs dalam fungsi pembungkus:
# 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
Anda dapat menggunakan beberapa dekorator pada satu fungsi. Dekorator tersebut 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
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
Dekorator biasanya digunakan untuk:
- Mencatat pemanggilan fungsi dan argumennya.
- Mengukur waktu eksekusi fungsi.
- Pengendalian akses, misalnya memeriksa izin pengguna.
- Menyimpan hasil dalam tembolok untuk meningkatkan kinerja.
Dekorator Bawaan di Python
Python menyediakan beberapa dekorator bawaan, termasuk:
@staticmethod: Mendefinisikan metode statis.@classmethod: Mendefinisikan metode kelas.@property: Mendefinisikan metode properti.
Kesalahan Umum pada Dekorator
Berikut beberapa kesalahan yang perlu dihindari:
- Tidak mempertahankan nama dan docstring fungsi asli (gunakan
functools.wraps). - Menggunakan dekorator secara tidak perlu untuk tugas sederhana.
- Lupa menangani argumen dalam fungsi pembungkus.
Apa yang Telah Kita Pelajari?
Dalam pelajaran ini, Anda telah mempelajari:
- Apa itu dekorator dan cara kerjanya dalam Python.
- Cara membuat dan menggunakan dekorator dasar, berparameter, dan berantai.
- Kasus penggunaan umum dan dekorator bawaan dalam Python.
Kerja bagus! Mari lanjut 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 For Kids, upgrade ke CoddyKit PRO. Kursus Python For Kids mencakup 5 pelajaran total.
Apa yang akan aku pelajari di “Dekorator”?
Pelajari cara menggunakan dekorator untuk mengubah atau memperluas fungsi Kamu berlatih Python For Kids 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 For Kids?
Tidak diperlukan pengalaman sebelumnya. Python For Kids 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 For Kids ini?
Ya. Setiap pelajaran Python For Kids 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 (List, Set, dan Dictionary)
- Iterator dan Iterable