Moj prvi program v Pythonu

Programiranje v jeziku Python je enostavno. Sintaksa je dokaj naravna. Poglejmo naslednji primer:




             

Tudi, če še nismo nikoli programirali, uganemo, da bo program seštel dve števili in izpisal vsoto. V programu smo uporabili dve spremenljivki (a in b), ki smo jima dodelili vrednost 2 oziroma 3. Program v okencu lahko tudi spremenimo in spet poženemo.

"print" je ključna besedica jezika Python: ima za interpreter poseben pomen. Ko Python pride do besede "print", pričakuje, da temu sledi tisto, kar želimo, da se izpiše. V našem primeru želimo, da računalnik izpiše izračunano vsoto.

Program dopolnimo tako, da bomo oba podatka vtipkali. Vnos enega podatka zahtevamo s stavkom "input()". Preskusimo ga. Vtipkajmo na primer 5 in 6:



            

Mimogrede smo spoznali še, da lahko vrstice v našem programu komentiramo. Komentar sledi znaku #.

Rezultat ni pričakovan, saj po vtipkanju 5 in 6 dobimo izpis 56 in ne 11. Kako to? Oba podatka obravnava program kot dva niza znakov in jih v izrazu "a+b" sestavi (združi) v en niz, ki ga nato izpiše.  Poskusimo in namesto dveh števil vpišimo svoje ime in priimek. Če hočemo, da sta a in b števili,moramo vnešeni niz (zaporedje številk) pretvoriti na primer v celo število.  To dosežemo tako:



          


Spremenljivke in tipi podatkov

Kot v vsakem programu imamo lahko tudi pri Pythonu konstantne in spremenljive podatke (spremenljivke). Če zaenkrat ostanemo pri osnovnih tipih podatkov, so ti lahko celoštevilčni, realni ali pa so to nizi (zaporedja črk, številk in drugih znakov).

Pri številčnih podatkih Python ugotovi, ali je to celo število ali realno število po tem, ali ima decimalnom piko. Nize pa zapišemo med navednicama. Sicer bi Python mislil, da je tako besedilo del programske kode.

Spremenljivke ločimo po njihovih imenih ( v prejšnjih primerih smo imeli spremenljivki a in b). Spoznani smo še, da spremenljivkam dodelimo vrednost s pomočjo enačaja.

Podobno, kot funkcija "int()" pretvori niz v celo število, bi funkcija "float()" pretvorila niz v realno število (floating point number).

Mešanje operatorjev med nizi in števili ni dovoljeno.  Lahko seštevamo števila, lahko seštevamo (združujemo) nize, ne moremo pa seštevati niz in število.

Pogosto si želimo, da bi naš izpis vseboval tako nek tekst kot tudi vrednosti števil. To lahko dosežemo z nekoliko bolj zapleteno obliko stavka print().



          

Komentar: Prva stvar v stavku print je niz, ki naj bo izpisan. V njem je na določenih mestih  z %d ali %s označeno mesto, kjer naj bi izpisana neka številčna vrednost (ali niza). Za znakom % pa so nato v oklepaju navedene vrednosti (ločene z vejicami), ki naj bodo izpisane na označenih mestih. Še kar komplicirano :(

Python je jezik, kaj pa njegova slovnica?

Slovnica vsakega jezika ni ravno zabavna, a brez nje ne gre.

Imena v Pythonu

Vsaka spremenljivka, funkcija razred, modul ali kateri drugi objekt mora imeti svoje ime. Ime začne z veliko ali malo črko (a...z )ali s podčrtajem (_). Temu lahko sledi še več črk, številk (0... 9) ali podčrtajev

Ločil, kot so  @, $ in %  ne sme biti v imenih. Python loči velike in male črke. Zato sta Vsota in vsota dve različni imeni.

Velja pa še nekaj dogovorov za imenovanje:

Rezervirane besede

Določene besede imajo v Pythonu poseben pomen in jih ne smemo uporabljati za druga imena. Pravimo, da so to ključne besede (keywords). Seznam teh besed je naslednji.

and exec not
as finally or
assert for pass
break from print
class global raise
continue if return
def import try
del in while
elif is with
else lambda yield
except


Vrstice in zamik vrstic

Kot v večini programskih jezikov imamo tudi v Pythonu dele kode (bloke kode), ki predstavljajo kodo funkcij, razredov ali krmiljenih stavkov. Take bloke označimo z zamikom vrstic. Vse vrstice v istem bloku morajo imeti enak zamik

Primer:

if True:
        print ("Pravilno")
else:
        print ("Nepravilno")


Stavki v več vrsticah

Stavke v Pythonu tipično zaključujemo z novo vrstico. Če pa je stavek predolg, lahko njegovo nadaljevanje nakažemo z znakom (\) v naslednji vrstici. Primer:

 skupaj = prvi + drugi + tretji + cetrti
\ + peti + sesti


Stavki, ki vsebujejo oklepaje  [], {} ali  () , ne potrebujejo označevanja nove vrstice (saj je jasno, da jih mora zaključiti zaklepaj. Primer:

dnevi = ['ponedeljek', 'torek', 'sreda', 'cetrtek',
'petek']


Navednice v Pythonu

Kot navednice lahko uporabljamo apostrofe ('), narekovaje (") ali celo  (''' ali """). Uporabljamo jih za označevanje nizov. Vendar mora biti par navednic enak. Večkratne navednice uporabljamo pri nizih, ki prečkajo več vrstic.


Komentarji v Pythonu

Znak # označuje začetek komentarja. Ta se konča s koncem vrstice. Python ignorira besedilo v komentarju.

 

Prazne vrstice

Prazne vrstice so dopustne, saj delajo program bolj pregleden. Python jih ignorira.

Pri interaktivni uporabi Pythonovega interpreterja s prazno vrstico zaključimo stavek, ki prečka več vrstic.

Čakanje na vnos podatka

Stavek input() prikaže na zaslonu pozivnik in počaka, da vnesemo podatek ter akcijo zaključimo s tipko Enter.

Pozivnik lahko tudi spremenimo z bolj smiselnim besedilom, kot to kaže spodnji primer (vendar to ne velja v našem simulatorju Pythona :(  )



          

Več stavkov v isti vrstici

Podpičje ( ; ) omogoča več stavkov v isti vrstici, pod pogojem, da noben od teh stavkov ne začenja novega bloka kode (stavka z zamikom)

Lahko bi zapisali tudi tako:

a=2 ; b = 3

Sestavljeni stavki

Sestavljeni stavki imajo vrstico z glavo in telo. Taki stavki so na primer  if, while, def, in  class .

Glava začne stavek s ključno besedo in konča z dvopičjem (:). Temu sledi ena ali več vrstic, ki predstavljajo telo. Primer:

if izraz1 :
       telo1
elif izraz2 :
      telo2
else :
     telo3


Argumenti v ukazni vrstici

Če bi program zapisali s primernim urejevalnikom besedila (na primer beležko), bi taki datoteki dali podaljšek  .py.

Nekaterim programom moramo ob zagonu podati dodatne informacije oziroma parametre. To lahko naredimo s takoimenovanimi argumenti v ukazni vrstici. Kaj več o tem pa presega namen te vadnice.