Primitiivien välittäminen funktioiden parametreina Pythonissa
Tarkastellaanpa primitiivistietotyyppien (merkkijonot, numerot) välittämisen erityispiirteitä funktion parametrina.
Oletetaan, että meillä on funktio, joka parametrina
ottaa muuttujan tst ja asettaa
sille arvon 2. Funktion jälkeen esittelemme
muuttujan num:
def func(tst):
tst = 2
print(tst)
num = 3
Kutsutaan funktiota ja välitetään sen
parametriin muuttuja num ja tulostetaan
sen arvo konsoliin. Huolimatta siitä, että
funktion parametrina on num,
sen arvo globaalissa näkyvyysalueessa
ei ole muuttunut:
func(num) # tulostaa 2
print(num) # tulostaa 3
Mikä on seuraavan koodin suorituksen tulos:
def func(txt):
txt = 'user2'
return txt
name = 'user1'
res = func(name)
print(res)
print(name)
Mikä on seuraavan koodin suorituksen tulos:
def func(tst1, tst2):
tst1 += 1
tst2 *= 2
return tst1 + tst2
num1 = 0
num2 = 2
res = func(num1, num2)
print(num1 + num2)
print(res)