Muutujate edastamine väärtuse järgi Pythonis
Pythonis jagatakse kõik andmed primitiivseteks (stringid, numbrid) ja keerukateks objektideks (loendid, hulgad, sõnastikud jne). Samal ajal on iga tüübi muutujate edastamisel oma eripärad. Näiteks saab väärtuse järgi edastada ainult primitiivsetele andmetüüpidele kuuluvaid muutujaid.
Oletame, et meil on kaks muutujat. Esimene sisaldab väärtusena ühte ja teine muutuja on võrdne esimesega:
num1 = 1
num2 = num1
print(num2) # väljastab 1
Kui pärast teise muutuja deklareerimist
kirjutada num1 ümber, siis väärtus
num2 jääb endiseks. Seda seletatakse
asjaoluga, et num2sse kopeeritakse ainult
esimese muutuja väärtus. Ja kõik hilisemad
muudatused, mis on tehtud num1sse,
ei mõjuta num2t. Siin töötab
muutuja edastamine väärtuse järgi:
num1 = 1
num2 = num1
num1 = 3
print(num2) # väljastab 1
Milline on järgmise koodi täitmise tulemus:
num1 = 10
num2 = num1
num1 = 5
print(num2)
Milline on järgmise koodi täitmise tulemus:
num1 = 8
num2 = num1 - 2
print(num2)
Milline on järgmise koodi täitmise tulemus:
txt1 = 'abcde'
txt2 = 'abcde'
txt1 = txt1.upper()
print(txt2)
Milline on järgmise koodi täitmise tulemus:
txt1 = 'abcde'
txt2 = txt1
txt1 = txt1.title()
print(txt1)
print(txt2)