Muuttujien välittäminen arvon mukaan Pythonissa
Pythonissa kaikki data jaotellaan primitiivisiin (merkkijonot, numerot) ja monimutkaisiin objekteihin (listat, joukot, sanakirjat jne.). Samalla kunkin tyypin muuttujien välittämisessä on omat erityispiirteensä. Esimerkiksi arvon mukaan voidaan välittää muuttujia, kuuluvat vain primitiivisiin tietotyyppeihin kuuluvat data.
Oletetaan, että meillä on kaksi muuttujaa. Ensimmäinen sisältää arvonaan ykkösen, ja toinen muuttuja on yhtä suuri kuin ensimmäinen:
num1 = 1
num2 = num1
print(num2) # tulostaa 1
Jos toisen muuttujan määrittelyn jälkeen
kirjoitetaan uudelleen num1, niin arvo
num2 pysyy samana. Tämä selittyy
sillä, että num2:een kopioidaan vain
ensimmäisen muuttujan arvo. Ja kaikki
myöhemmät muutokset, jotka tehdään num1:een
eivät vaikuta num2:een. Tässä toimii
muuttujan välittäminen arvon mukaan:
num1 = 1
num2 = num1
num1 = 3
print(num2) # tulostaa 1
Mikä on seuraavan koodin suorituksen tulos:
num1 = 10
num2 = num1
num1 = 5
print(num2)
Mikä on seuraavan koodin suorituksen tulos:
num1 = 8
num2 = num1 - 2
print(num2)
Mikä on seuraavan koodin suorituksen tulos:
txt1 = 'abcde'
txt2 = 'abcde'
txt1 = txt1.upper()
print(txt2)
Mikä on seuraavan koodin suorituksen tulos:
txt1 = 'abcde'
txt2 = txt1
txt1 = txt1.title()
print(txt1)
print(txt2)