Menu
CoddyTech

Variabel instance vs variabel class

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Python di Coddy. Pelajaran 13 dari 64.

Variabel instance bersifat unik untuk setiap object, sedangkan variabel class digunakan bersama oleh semua object dari class yang sama.

Berikut contoh class dengan kedua jenis variabel

class Student:
    # Variabel class: digunakan bersama oleh semua instance
    school = "Python High School"
    
    def __init__(self, name, grade):
        # Variabel instance: unik untuk setiap siswa
        self.name = name
        self.grade = grade

Buat object siswa:

alice = Student("Alice", "A")
bob = Student("Bob", "B")

Akses variabel instance (unik untuk setiap object):

print(alice.name)  # Alice
print(bob.name)    # Bob
print(alice.grade) # A
print(bob.grade)   # B

Akses variabel class (digunakan bersama oleh semua object):

print(alice.school)     # Python High School
print(bob.school)       # Python High School
print(Student.school)   # Python High School

Sekarang ubah variabel class:

Student.school = "Python Academy"

Periksa bagaimana perubahan tersebut memengaruhi semua instance:

print(alice.school)   # Python Academy
print(bob.school)     # Python Academy

Output:

Alice
Bob
A
B
Python High School
Python High School
Python High School
Python Academy
Python Academy

Kamu juga bisa membuat variabel instans setelah membuat object:

alice.age = 16  # Ini membuat variabel instans
print(alice.age)  # 16
# print(bob.age)  # Ini akan menyebabkan error karena bob tidak memiliki age

Perbedaan utama: Variabel instance (dibuat dengan self.variable_name) berbeda untuk setiap object, sedangkan variabel class (didefinisikan langsung di dalam class) digunakan bersama oleh semua object. Mengubah variabel class memengaruhi semua instance.

challenge icon

Tantangan

Mudah

Selesaikan sistem perbankan.. Kamu akan mendefinisikan class BankAccount dalam satu file dan menggunakannya di file lain.

Kamu akan bekerja dengan:

  • bank_account.py: Definisikan class BankAccount dengan atribut dan method
  • driver.py: Impor class, buat akun, dan tunjukkan variabel class

Ikuti komentar TODO di kedua file untuk mendapatkan petunjuk langkah demi langkah. Komentar tersebut akan membimbingmu membuat class dengan variabel dan method yang tepat, serta menunjukkan bagaimana variabel class memengaruhi semua instance.

Coba sendiri

# TODO: Impor class BankAccount dari bank_account.py
from bank_account import BankAccount

# TODO: Buat dua akun dengan detail persis berikut:
# - account1: pemilik "Alice Smith" dengan saldo $1000
# - account2: pemilik "Bob Jones" dengan saldo $2000

# TODO: Panggil display_info() untuk kedua akun

# TODO: Ubah variabel class interest_rate menjadi 0.03 (3%)
# Gunakan format ini: BankAccount.interest_rate = 0.03

# TODO: Cetak teks "After interest rate change:"

# TODO: Panggil display_info() lagi untuk kedua akun agar terlihat bahwa keduanya memiliki tingkat bunga baru
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Python online