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

	1

izraz, prav tako sta izraza

	"To je niz"

in

	["a", "b", "c"]

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

	6 / 3

nadomeščen z

	2

š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

	(10 * 2) + (5 * 4)

  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:

	ime = vrednost

Č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.