Python
Formalnosti
Sedaj je čas, da o stvareh, ki smo jih spoznali
spregovorimo bolj formalno. Vsi jeziki imajo namreč neko sintakso
(oziroma slovnico), ki definira način, kako računalnik tolmači
našo
ozvorno kodo. Slovnico jezika moramo poznati, če želimo z lahkoto in
brez nepotrebnih napak razširjati podane primere ali
programirati nove.
Koda v jeziku Python ima v osnovi tri sestavine: vrednosti, izraze
in stavke.
Vrednosti so lahko števila, kot na primer 1, 2 ali
2011.
Vrednosti so lahko tudi nizi, kot na primer "Pozdravljen", 'kako si'
ali "Hvala lepa". Vrednosti so pravzaprav lahko kakršenkoli tip
podatka, ki ga Python razpoznava (kot na primer seznami).
Izrazi izražajo neko vrednost ali neko zamisel. najbolj preprost
izraz je vrednost enega literala Tako je
izraz, prav tako sta izraza
in
Preproste izraze lahko kombiniramo s pomočjo operatorjev in tako dobimo
bolj komplicirane izraze. Imamo dve vrsti operatorjev: unarne in
binarne. Unarni operatorji uporabljajo eno samo vrednost, kot na primer:
- stevilo # vrne aritmetično negatovno vrednost "stevila" - 1 # vrne -1 not a # vrne logično invertirano vrednost a not 1 # vrne 0 not 0 # vrne 1
|
Binarni operatorji uporabljajo dve vrednosti, kot na primer:
a + b # vrne vsoto a in b 1 + 2 # vrne 3 (1 plus 2) 'abc' + 'def' # vrne 'abcdef' a - b # vrne razliko a - b 1 - 2 # vrne - 1 (1 minus 2) 10 / 2 # vrne 5 (10 deljeno z 2) 10 * 2 # vrne 20 (10 krat 2) a and b # vrne logični AND logičnih vrednosti a, b 0 and 0 # vrne 0 0 and 1 # vrne 0 1 and 1 # vrne 1 a or b # vrne logični OR logičnih vrednosti a, b 0 or 0 # vrne 0 1 or 0 # vrne 1 1 or 1 # vrne 1 a == b # vrne 1 če je a enak b, sicer vrne 0 1 == 2 # vrne 0 "Pozdrav" == 'Pozdrav' # vrne 1 a > b # vrne 1 če je a večji od b, sicer vrne 0 10 > 5 # vrne 1 a < b # vrne 1 če je a manjši od b, sicer vrne 0 10 < 5 # vrne 0
|
Ko operator "vrne" vrednost, pomeni to, da Python nadomesti originalni
izraz z bolj preprostim, ovrednotenim izrazom. Tako bo izraz
nadomeščen z
še preden bo uporabljen. Tudi drugi operatorji delujejo enako.
Take nove izraze lahko kombiniramo z operatorji na enak način, kot
smo z operatorji kombinirali preproste izraze.
10 * 2 + 5 * 4 # vrne 20 + 20 kar vrne 40
|
Ko tako kombiniramo izraze, je včasih potrebno uporabiti oklepaje, s
katerimi jasno povemo, kakšno naj bo zaporedje operacij. Sicer
bi lahko
predpostavili, da je v prejšnjem primeru Python ugotovil, da je
10 * 2
enako 20, nato 20 + 5 je 25, nato 25 * 4 je100, kar pa ni tisto, kar
smo hoteli. Tako lahko bolj jasno zapišemo
kar prisili Python, da vzame najprej 10 * 2 in 5 *
4, ter nato oba vmesna rezultata sešteje.
Izrazi so imenitna stvar, vendar neuporabni brez stavkov. Stavki so
programske vrstice, ki povedo Pythonu, da naj nekaj naredi. Eden
najbolj preprostih stavkov je stavek print. Ta stavek pove
Pythonu, da naj vzame vrednosti, ki slede besedici print
in jih izpiše na zaslon.
print "hello", 10 * 2 # pove Pythonu, naj izpise na zaslonu hello 20
|
Prireditve so naslednja oblika stavkov. Z njimi povemo, da naj nekemu
imenu priredi neko vrednost, kot na primer:
Če je bila temu imenu že dodeljena neka vrednost, bo tako
nadomeščena.
Če pa takega imena še nismo uporabili, bo "tvorjeno" in mu bo
dodeljena
vrednost, izražena za enačajem (znakom "="). Nekaj primerov:
a = 1 # tvori spremenljivko z imenom a in vrednostjo 1 a = 'Pozdrav' # zamenja vrednost a s 'Pozdrav' b = [a, 2] # tvori spremenljivko b z vrednostjo ['Pozdrav', 2] b = ['a', 2] # nadomesti vrednost b z ['a', 2]
|
Stavki prirejanja, stavek print in podobni so preprosti stavki.
Stavki, ki potrebujejo več vrstic, so sestavljeni stavki. Vsi stavki za
krmiljenje programskega poteka so sestavljeni stavki. Stavek if
if pogoj: izvedi ta blok stavkov elif drug_pogoj: izvedi ta drugi blok stavkov else: izvedi te stavke
|
je sestavljeni stavek, ki lahko v sebi vsebuje druge stavke. Podobno je s stavkoma while in for
while pogoj: izvedi te stavke
|
for ime in seznam: izvedi te stavke
|
To je vsa zgradba programov v jeziku Python. Ti programi so seznami
stavkov. Stavki povedo Pythonu, da naj nekaj naredi z izrazi. Izrazi pa
so zapis neke informacije. Obdelava informacij pa je to, čemur so
programi namenjeni. Pa naj bo to program za računanje plač ali pa
računalniška igrica.