Olioiden välittäminen parametreina Pythonissa
Muuttujat, jotka sisältävät olioita (listat, joukot, monikot, sanakirjat) välitetään funktioihin viitteinä. Kirjoitetaan koodi uudelleen funktiossa siten, että ensimmäinen elementti välitettävästä muuttujasta muuttuu huutomerkiksi. Ja alle funktion määritellään muuttuja, jonka arvo on lista:
def func(tst):
tst[0] = '!'
print(tst)
lst = [1, 2, 3, 4, 5]
Koska listat välitetään viitteinä,
funktiota kutsuttaessa muuttuu myös lst:n arvo
globaalissa näkyvyysalueessa:
func(lst) # tulostaa ['!', 2, 3, 4, 5]
print(lst) # tulostaa ['!', 2, 3, 4, 5]
Mikä on seuraavan koodin suorituksen tulos:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
func(lst)
print(lst)
Mikä on seuraavan koodin suorituksen tulos:
def func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
lst = func(lst)
print(lst)
Mikä on seuraavan koodin suorituksen tulos:
def func(lst):
lst = '!'
lst = [1, 2, 3, 4, 5]
func(lst[0])
print(lst)
Mikä on seuraavan koodin suorituksen tulos:
def func(dct):
for key in dct.keys():
dct[key] += 2
dct = {
'a': 1,
'b': 2,
'c': 3,
}
func(dct)
print(dct)