0Pricing
Python Academy · Pelajaran

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.

Dekorator — ilustrasi 1

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.

Dekorator — ilustrasi 11

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

  1. Dekorator
  2. Generator
  3. Pengelola Konteks (Pernyataan with)
  4. Pemahaman (Daftar, Himpunan, dan Kamus)
  5. Iterator dan Iterable
← Kembali ke Python Academy