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:
pythondef 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:
pythonfunc(lst) # tulostaa ['!', 2, 3, 4, 5]
print(lst) # tulostaa ['!', 2, 3, 4, 5]
Задание 1
Mikä on seuraavan koodin suorituksen tulos:
pythondef func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
func(lst)
print(lst)
Задание 2
Mikä on seuraavan koodin suorituksen tulos:
pythondef func(lst):
lst[0] = '!'
lst = [1, 2, 3, 4, 5]
lst = func(lst)
print(lst)
Задание 3
Mikä on seuraavan koodin suorituksen tulos:
pythondef func(lst):
lst = '!'
lst = [1, 2, 3, 4, 5]
func(lst[0])
print(lst)
Задание 4
Mikä on seuraavan koodin suorituksen tulos:
pythondef func(dct):
for key in dct.keys():
dct[key] += 2
dct = {
'a': 1,
'b': 2,
'c': 3,
}
func(dct)
print(dct)