← Kembali ke kursus
Pelajaran kursus · Python
Pelajaran 26

Instance method

Fungsi yang menempel pada objek dan mengakses datanya.

Pahami konsepnya

Instance method adalah fungsi yang dideklarasikan di dalam class dan dipanggil dari objek: ari.tambah(25). Parameter pertamanya selalu self — referensi ke objek pemanggil. Di dalam method, atribut diakses lewat self.nama.

Method bisa memanggil method lain lewat self: self.hitung() di dalam method yang sama class. Boleh juga menerima parameter tambahan biasa: def bandingkan(self, lain): menerima objek lain sebagai argumen.

Python membolehkan menambah method setelah class selesai (monkey patching) tapi itu dianggap praktik buruk untuk kode produksi — definisikan semua method di dalam class.

Coba contoh kode

class Siswa:
    def __init__(self, nama, poin=0):
        self.nama = nama
        self.poin = poin

    def tambah(self, n):
        self.poin += n

    def kurang(self, n):
        self.poin -= n

    def lulus(self):
        return self.poin >= 70

ari = Siswa("Ari")
ari.tambah(50)
ari.tambah(25)
print(ari.poin, ari.lulus())  # 75 True

Method tambah dan kurang MENGUBAH state objek lewat self; lulus hanya MEMBACA state. Pemanggilannya terbaca seperti kalimat: ari.tambah(50) — "ari, tambah 50".

Latihan singkat

Uji: bandingkan(self, lain) mengembalikan nama poin tertinggi — Ari 50 vs Budi 75, harus `Budi`.