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.