Python37 / 62

Data Class (@dataclass)

Class yang tugasnya sekadar menampung data biasanya butuh __init__ panjang berisi penugasan berulang. Dekorator @dataclass dari modul dataclasses membuat Python menuliskannya untukmu: cukup deklarasikan nama field beserta tipenya, dan __init__, __repr__, serta perbandingan antar objek dibuat otomatis. Hasilnya kode jadi jauh lebih pendek dan bebas dari salah ketik saat menyalin parameter. Pakai dataclass untuk objek data seperti Produk atau Transaksi; class biasa tetap lebih tepat kalau perilakunya rumit dan bukan sekadar menyimpan nilai.

👀 Contoh dulu

from dataclasses import dataclass

@dataclass
class Buku:
    judul: str
    harga: int

print(Buku('Atomic Habits', 95000))

Hasilnya: Buku(judul='Atomic Habits', harga=95000)

📝 Sekarang giliranmu

Buat class penampung data Product dengan dua field: name bertipe str dan price bertipe float. Pakai dekorator dari modul dataclasses supaya kamu tidak perlu menulis __init__ sendiri.

Preview