Setelah dasar OOP dikuasai, Python menawarkan alat pemodelan data yang lebih deklaratif dan aman. Kita akan memakai dataclasses, Enum, properties, descriptors, __slots__, abstract base classes, dan special methods yang membentuk data model Python.
Ubah class data menjadi deklaratif dengan @dataclass: __init__, __repr__, dan __eq__ dibuat otomatis.
Buka → # namedtupleBeri nama pada posisi tuple dengan namedtuple dan typing.NamedTuple untuk record immutable yang ringan.
Buka → # EnumKelompokkan konstanta bernama dengan Enum: nilai aman dari typo, bisa diiterasi, dan bisa dicek keanggotaannya.
Buka → # PropertiesUbah atribut menjadi nilai terhitung dan tambahkan validasi lewat @property tanpa mengubah cara pemanggil.
Buka → # DescriptorsPahami protokol descriptor __get__, __set__, dan __set_name__ yang menjadi fondasi property dan ORM framework.
Buka → # __slots__Batasi atribut instance dengan __slots__, hemat memori signifikan, dan kenali jebakan inheritance-nya.
Buka → # Abstract Base ClassesDefinisikan kontrak interface dengan abc.ABC dan @abstractmethod agar subclass wajib mengimplementasikan method.
Buka → # Protocols dan Structural SubtypingKenali duck typing versi static: class apa pun yang punya method sesuai Protocol dianggap kompatibel.
Buka → # Special Methods dan Data ModelSelami data model Python: __repr__, __len__, __iter__, __getitem__, __call__, dan cara interpreter memanggilnya.
Buka → # Operator OverloadingBuat class Money dan VersiRilis dengan operator +, -, ==, < sendiri, plus kontrak __eq__ dan __hash__.
Buka →