F1 · Modul 12
Kelas dan dataclass
47 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
- Kelas adalah cetakan, objek adalah benda yang dibuat darinya;
__init__mengisi atribut awal danselfadalah objek yang sedang dikerjakan. - Metode adalah fungsi milik objek;
__repr__,__str__, dan metode khusus lain mengatur cara objek tampil dan dipakai dengan==,<,+. @dataclassmembuat__init__,__repr__, dan==dari daftar field; petunjuk tipe tidak diperiksa saat program berjalan.- Nilai di badan kelas adalah atribut kelas yang dibaca bersama; list untuk setiap objek dibuat di
__init__atau denganfield(default_factory=list). - Pakai kelas untuk konsep inti yang dipakai di banyak tempat; dictionary tetap cocok untuk data sementara dan JSON.
Sebelum mulai
±4 jam.
Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.
Hasil belajar: membuat kelas dengan class, __init__, dan self; memberi objek atribut dan metode; mengatur tampilan objek dengan __repr__ dan __str__ dan memakai metode khusus seperti __eq__, __lt__, dan __add__; menulis kelas data ringkas dengan @dataclass (nilai bawaan dan field(default_factory=...)); membedakan atribut objek dan atribut kelas; menyusun objek di dalam objek (komposisi); membuat "pabrik" objek dengan @classmethod; dan menimbang kapan memakai kelas dan kapan cukup dictionary.
Proyek: kasku langkah 12: Transaksi sebagai dataclass dengan ke_dict() dan Transaksi.dari_dict(d), lalu data.py memakai Transaksi sebagai pengganti dictionary.
Istilah di modul ini (50)
Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course
Bahan modul
Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.
- 34 contoh kode
- 8 berkas latihan + tes
Lihat isi zip
- BACA-DULU.txt
- kas-lama.json
- tidak-lengkap.json
- format.py
- contoh_f1_12_26.py
- contoh_f1_12_50.py
- contoh_f1_12_85.py
- contoh_f1_12_145.py
- contoh_f1_12_174.py
- contoh_f1_12_200.py
- contoh_f1_12_247.py
- contoh_f1_12_278.py
- contoh_f1_12_323.py
- contoh_f1_12_434.py
- contoh_f1_12_464.py
- contoh_f1_12_508.py
- contoh_f1_12_542.py
- contoh_f1_12_777.py
- contoh_f1_12_816.py
- contoh_f1_12_852.py
- contoh_f1_12_880.py
- contoh_f1_12_913.py
- contoh_f1_12_946.py
- contoh_f1_12_1044.py
- contoh_f1_12_1078.py
- contoh_f1_12_1107.py
- contoh_f1_12_1245.py
- contoh_f1_12_1311.py
- contoh_f1_12_1338.py
- contoh_f1_12_1500.py
- contoh_f1_12_1561.py
- contoh_f1_12_2177.py
- contoh_f1_12_2210.py
- contoh_f1_12_2248.py
- contoh_f1_12_2286.py
- contoh_f1_12_2310.py
- contoh_f1_12_2340.py
- contoh_f1_12_2374.py
- test_f1_12_1.py
- test_f1_12_2.py
- test_f1_12_8.py
- test_f1_12_3.py
- test_f1_12_4.py
- test_f1_12_7.py
- test_f1_12_5.py
- test_f1_12_6.py