Materi
Kelas adalah cetakan yang menyatukan data dan fungsi yang mengolahnya. Pernyataan class Ruangan: membuat kelas baru, dan memanggil kelas itu seperti fungsi, Ruangan(...), menghasilkan objek baru yang disebut instance. Dari satu kelas bisa dibuat objek sebanyak apa pun, dan tiap objek menyimpan datanya sendiri.
Method khusus __init__ dijalankan otomatis setiap kali objek dibuat. Argumen yang ditulis saat memanggil kelas diteruskan ke __init__. Parameter pertamanya, yang dinamai self, adalah objek yang sedang dibuat; baris self.nama = nama menempelkan atribut nama ke objek itu. Atribut tidak perlu dideklarasikan lebih dulu: ia muncul saat pertama kali diberi nilai, sama seperti variabel biasa.
class Ruangan:
def __init__(self, nama, kapasitas):
self.nama = nama
self.kapasitas = kapasitas
self.jadwal = []
rapat = Ruangan("Ruang Rapat Lantai 2", 12)
aula = Ruangan("Aula", 80)
print(rapat.kapasitas) # 12
print(aula.nama) # AulaKapan dipakai: ketika beberapa data selalu berjalan bersama — nama ruangan, kapasitas, dan jadwalnya — dan kamu ingin menulis rapat.kapasitas alih-alih mengingat bahwa kapasitas ada di indeks 1 sebuah tuple. Atribut jadwal di contoh dibuat di dalam __init__, sehingga setiap ruangan mendapat list kosongnya sendiri.