Primitiviivsete andmetüüpide edastamine funktsioonide parameetritena Pythonis
Vaatleme primitiivsete andmetüüpide (stringid, arvud) edastamise eripärasid funktsiooni parameetritesse.
Olgu meil funktsioon, mis parameetrina
võtab muutuja tst ja määrab
sellele väärtuse 2. Pärast funktsiooni deklareerime
muutuja num:
def func(tst):
tst = 2
print(tst)
num = 3
Kutsume funktsioon välja ja edastame selle
parameetrisse muutuja num ja väljastame
selle väärtuse konsooli. Hoolimata asjaolust, et
funktsiooni parameetris on määratud num,
ei ole selle väärtus globaalses ulatuses
muutunud:
func(num) # väljastab 2
print(num) # väljastab 3
Milline on järgmise koodi täitmise tulemus:
def func(txt):
txt = 'user2'
return txt
name = 'user1'
res = func(name)
print(res)
print(name)
Milline on järgmise koodi täitmise tulemus:
def func(tst1, tst2):
tst1 += 1
tst2 *= 2
return tst1 + tst2
num1 = 0
num2 = 2
res = func(num1, num2)
print(num1 + num2)
print(res)