Passing Objects as Parameters in Python
Variabel yang berisi objek (list, set, tuple, dictionary) dalam fungsi dipass oleh referensi. Mari kita tulis ulang kode dalam fungsi sehingga elemen pertama dari variabel yang dipass diubah menjadi tanda seru. Dan di bawah fungsi kita deklarasikan sebuah variabel, yang nilainya adalah list:
def func(tst):
tst[0] = '!'
print(tst)
lst = [1, 2, 3, 4, 5]
Karena list dipass oleh referensi, saat
fungsi dipanggil, nilai lst
dalam ruang lingkup global juga akan berubah:
func(lst) # akan menampilkan ['!', 2, 3, 4, 5]
print(lst) # akan menampilkan ['!', 2, 3, 4, 5]
Bagaimana hasil eksekusi kode berikut:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
func(lst)
print(lst)
Bagaimana hasil eksekusi kode berikut:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
lst = func(lst)
print(lst)
Bagaimana hasil eksekusi kode berikut:
def func(lst):
lst = '!'
lst = [1, 2, 3, 4, 5]
func(lst[0])
print(lst)
Bagaimana hasil eksekusi kode berikut:
def func(dct):
for key in dct.keys():
dct[key] += 2
dct = {
'a': 1,
'b': 2,
'c': 3,
}
func(dct)
print(dct)