Silahkan masuk atau daftar agar skor dan code anda tersimpan.

Mutable Properti di Class

Tentunya anda masih ingat tentang list dan dictionary. List dan dictionary bisa menjadi sebuah properti di class, tetapi mereka mempunyai perilaku yang berbeda untuk variabel pribadi (di dalam __init__) dan variabel bersama (di luar __init__).

Ketika menjadi sebuah variabel bersama, properti yang merupakan list dan dictionary akan selalu memiliki nilai yang sama di semua objek dari kelas yang sama. Itu dikarenakan list dan dictionary adalah mutable objek. Berbeda misalnya dengan properti yang bukan mutable objek (string, angka, dll.) seperti ini:

class Gadget(object):
  baterai = 100

hp = Gadget()
tablet = Gadget()

hp.baterai = 90
print tablet.baterai # 100
print hp.baterai # 90

Perhatikan bahwa walaupun hp mengubah nilai baterai menjadi 90 tetapi nilai baterai dari tablet tetaplah 100. Hal ini tidak akan terjadi jika baterai merupakan sebuah list.


Instruksi:
  • Perhatikan properti pembuat yang merupakan sebuah list di class Gadget.
  • Perhatikan juga properti fitur yang juga merupakan sebuah list.
  • Perhatikan output keduanya.
  • Apakah anda memperhatikan perbedaannya?
Forum Diskusi
Lanjut Premium