Besikeičiantiems duomenims/informacijai saugoti programoje naudojami kintamieji. Jie turi vardus (panašiai kaip failai), pagal kuriuos galima duomenis pasiekti.
Duomenų priskyrimo veiksmas atrodo panašiai kaip matematikoje:
«kintamojo vardas» = «priskiriama reikšmė»(Tokie «dvigubi skliaustai» bus naudojami formuluočių dalių paaiškinimui.)
Pvz, kintamajam pinigai
priskiriama reikšmė 13:
pinigai = 13Po šio priskyrimo esančiuose veiksmuose Python "žinos", kad
pinigai
yra 13.
Atsargiai, būtų klaida:
13 = pinigaiNes Python sintaksėje numatyta, kad priskyrimas vyksta iš dešinės lygybės pusės į kairę (ir ne kitaip).
Žemiau trumpas kelių veiksmų pavyzdys su kintamuoju:
Panagrinėkite programos eilutes ir išsiaiškinkite, kaip kuri nulėmė atspausdintą rezultatą. Kintamasis
turi reikšmę x
13
pirmose dviejose print
komandose, vėliau jam priskiriama reikšmė 7
.
Kaip pastebėjote, su skaičiais galima atikti aritmetinius veiksmus - tam skirti operatoriai +
-
*
/
ir dar keli (bet apie juos - vėliau).
Šiaip, programuotojams sekti programos veiksmus tenka gan dažnai - ypač, kai ieškoma klaidų. Kaip keičiasi kintamųjų reikšmės patogu sekti lentelėje (kad ir ant popieriaus), pvz:
Tikslas: nustatyki, kokias reikšmes turės kintamieji programos pabaigoje.
first = 2 second = 3 third = first * second second = third - first first = first + second + third third = second * firstPrincipas: Lentelėje surašomos ir sekamos kintamųjų reikšmės. Nuslinkite iki lentelės pabaigos, kad sužinotumėt galutines reikšmes.
Veiksmas | Reikšmės (įvykus veiksmui) | ||
---|---|---|---|
first | second | third |
first = 2 | 2 | ||
second = 3 | 2 | 3 | |
third = first * second | 2 | 3 | 6 |
second = third - first | 2 | 3 4 | 6 |
first = first + second + third | 2 12 | 4 | 6 |
third = second * first | 12 | 4 | 6 48 |
Taigi, programos pabaigoj kintamasis first
yra lygus 12
, second
yra 4
, o third
reikšmė yra 48
.
Norint suprasti programos kodą, tokia lentelė visada pravers. Taip pat yra automatizuotų priemonių, leidžiančių sekti programą pažingsniui - šioje sistemoje yra Python3 vizualus seklys (jį rasite ir viršutiniame meniu). Pabandykime juo pasinaudoti.
Mygtukas "Forward >" arba rodyklės klavišai leis eiti pažingsniui (po eilutę) pirmyn (arba atgal). Stebėkite, kaip keičiasi kintamieji po kiekvienos eilutės.
Trumpas pratimas/klausimas:
x
'o reikšmę?Kokia
x
reikšmė programos pabaigoje?
x = 10 x = x + x x = x - 5
Dvi dažnos klaidos
Jei bandote naudoti kintamąjį (vardą), kuriam nebuvo priskirta jokia reikšmė, programa “lūžta”, nes tokio nežino. Pabandykime:
Kaip matote, gavom klaidos pranešimą NameError: name 'trouble' is not defined
. Jei padarysite žioplą rašybos klaidą (praleisite raidę ar parašysite mažają vietoj didžiosios), taip pat gausite tokią klaidą: pvz.
Kita dažnoka pradedančiųjų klaida (kurią jau minėjom), kai supainiojamos priskyrimo =
pusės.
Pirma eilutė OK, o antra - bėda: (4 = x).
Skaičius 4 yra konstanta (negali keistis), todėl nėra prasmės jam priskirti kitą reikšmę. Taigi, nors matematikoje A = B
ir B = A
reiškia tą patį, programavime taip nėra - priskyrimo veiksmas turi kryptį.
Pratimai
Kintamųjų naudojimo apšilimas:
Sumaišytos programos eilutės
Šioje užduotyje esantis kodas yra teisingas, tačiau jame sumaišytos eilutės. Sudėkite eilutes teisinga tvarka (pertempdami su pele).
Sukeiski
Paskutinis pratimas
Jei teisingai atlikai šį pratimą, esi pasiruošęs keliauti toliau.