Lisää sijoituskäskystä

Tarkastellaan vähän tarkemmin sijoituskäskyä. Sijoituskäskyssä on vasemmalla jonkin muuttujan nimi, sitten =-merkki ja tämän oikealla puolella lauseke, esimerkiksi

keskiarvo = (4.5 + 8.7) / 2

Sijoituskäsky suoritetaan aina niin, että ensin lasketaan oikealla puolella olevan lausekkeen arvo ja saatu tulos sijoitetaan vasemmalla puolella olevan muuttujan arvoksi.

Laskettavassa lausekkeessa voi esiintyä muuttujien nimiä. Tällöin lausekkeen arvoa laskettaessa käytetään näiden muuttujien arvoja, esimerkiksi

fahrenheit = 100
celsius = (fahrenheit - 32) * 5.0 / 9.0

Sijoituskäskyn vasemmalla puolella olevalla muuttujalla voi olla arvo jo ennen sijoituskäskyä. Tällöin vanha arvo häviää sijoituskäskyä suoritettaessa, esimerkiksi

celsius = 25.0
fahrenheit = 100
celsius = (fahrenheit - 32) * 5.0 / 9.0

Muuttujan celsius arvo on ennen viimeisen käskyn suorittamista 25.0, mutta sen suorittamisen jälkeen noin 37.77778, kuten voi nähdä alla olevasta animaatiosta.

Muuttujan vanhaa arvoa voidaan käyttää myös hyväksi saman muuttujan uutta arvoa laskettaessa, esimerkiksi

luku = 5
luku = luku + 7

Jälkimmäinen sijoituskäsky suoritetaan seuraavasti: lasketaan ensin oikealla puolella olevan lausekkeen arvo. Otetaan siis muuttujan luku arvo (5), lisätään siihen 7, jolloin lausekkeen arvoksi saadaan 12. Saatu arvo sijoitetaan muuttujan luku uudeksi arvoksi. Muuttujan luku arvo on siis ennen käskyn suorittamista 5 ja käskyn suorittamisen jälkeen 12. Käsky voi tuntua aluksi hämäävältä, mutta on muistettava, että merkki = tarkoittaa todellakin sijoitusta, eikä sillä ole Python-kielessä mitään tekemistä yhtäsuuruuden kanssa. Ohjelman kulku on vielä näytetty animaatiossa alla.

Sijoituskäskyt, joissa muuttujan vanhaa arvoa käytetään hyväksi uutta arvoa laskettaessa ovat niin yleisiä, että osalle niistä on sovittu lyhennysmerkintä. Sijoitus

luku += 7

tarkoittaa samaa kuin sijoituskäsky

luku = luku + 7

Vastaavasti toimivat merkinnät -=, *= ja /=.