Penghantaran Pembolehubah melalui Rujukan dalam Python
Dalam Python, pembolehubah yang mengandungi objek kompleks dihantar melalui rujukan. Ini bermakna, semua perubahan yang dibuat dalam satu pembolehubah akan dipaparkan pada yang kedua. Walaupun dengan jenis penetapan nilai ini risiko ralat meningkat, namun sumber memori sistem OS dijimatkan dengan ketara.
Katakan kita mempunyai dua senarai:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
Oleh kerana pembolehubah lst2 ditetapkan
nilai lst1, kini dalam memori komputer
tersimpan satu senarai, yang dirujuk secara
serentak oleh dua pembolehubah.
Mari kita ubah elemen pertama lst2
dan keluarkan senarai pertama ke konsol:
lst2[0] = '!'
print(lst1) # akan mengeluarkan ['!', 2, 3, 4, 5]
Apakah hasil pelaksanaan kod berikut:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst1)
Apakah hasil pelaksanaan kod berikut:
lst1 = [1, 2, 3, 4, 5]
lst2 = lst1
lst2[0] = '!'
print(lst2)
Apakah hasil pelaksanaan kod berikut:
lst1 = ['a', 'b', 'c', 'd']
lst2 = lst1
lst3 = 'e'
lst2[2] = lst3
print(lst2)