Uvod u jezik PYTHON

(priručnik za  predmet "Skript jezici")


© Matematički fakultet

Miljana Mladenović, Duško Vitas

O Python-u
Instalacija
Sintaksa jezika Python
Osnovne osobine
Službene reči
Operatori i njihovi prioriteti
Osnovne algoritamske strukture
Blok naredbi
if struktura
while struktura
Iskazi: break, continue, pass
Tipovi podataka u Python-u
Osnovni i ugradjeni tipovi
Brojevi
Konverzija formata
Neke matematičke funkcije
Neke random funkcije
Niske
Neke funkcije nad niskama
Formatiranje niski
Liste
Torke
Osnovni izrazi sa torkama
Rečnici
Skupovi
Operacije nad skupovima
Datoteke
Funkcije modula os za rad sa datotekama
Funkcije modula os za rad sa folderima
Izuzeci
Funkcije
Moduli
Paketi
Klase
Regularni izrazi
Baze podataka
Primeri u Netbeans-u

Rečnici

 

 

U nekim programskim jezicima rečnici se zovu heš tablice ili asocijativni nizovi. Svaki rečnik je struktura oblika:  ključ : vrednost. Rečnici se ne indeksiraju brojevima već ključevima koji mogu biti tipa broj, niska ili torka (immutable). Vrednosti mogu biti bilo kog tipa i mogu se ponavljati u jednom rečniku. Jedan rečnik ne može imati dva (ili više) ista ključa.  Rečnici spadaju u grupu promenljivih (muttable) struktura podataka.

Rečnik se definiše nabrajanjem parova ključ:vrednost, unutar vitičastih zagrada { } , a parovi se međusobno odvajaju zarezom ( , ). Prazan rečnik označava se parom praznih vitičastih zagrada  { }.

   

>>>recnik1={ 'Pera':2345, 'Mika':2346, 'Laza':2347}

>>>recnik2={ 'ime': 'Pera', 'prezime': 'Peric', 'starost':27, 'visina':178,5}

>>>konstante={'pi':3,14, 'e':2,71, 'fi'=1,61, 'g'=9,81}

   

<dictionary> [<key>]  Pristup elementima rečnika:

>>>recnik1={'ime': 'Pera', 'prezime': 'Peric', 'starost':27, 'visina':178,5}

>>>print recnik1['ime']

Pera

>>> print recnik1['starost']

27

   

<dictionary>[<key>] = <value> , del <dictionary>[<key>], <dictionary>.clear()                                                

Izmena rečnika: elementi u rečniku mogu biti dodati, izmenjeni ili obrisani.

>>> recnik1={'ime': 'Pera', 'prezime': 'Peric', 'starost':27, 'visina':178,5}

>>> recnik1['ime']= 'Mika'     # izmena postojeće vrednosti datog ključa

>>> recnik1['imeOca']= 'Zika'  # dodavanje novog para ključ:vrednost

>>> del  recnik1['starost']    # brisanje željenog para ključ:vrednost

>>> recnik1.clear()             # brisanje svih parova rečnika, ostaje

                                # prazan rečnik

>>> del recnik1                 # brisanje celog rečnika

   

cmp(<dictionary1>,<dictionary2>)          Funkcije i metodi nad rečnicima:

poređenje rečnika zasnovano je na međusobnom upoređenju ključeva i međusobnom upoređenju vrednosti.

>>> recnik1 = {'ime': 'Aca', 'Starost':21};

>>> recnik2 = {'ime': 'Maca', 'Starost':25};

>>> recnik3 = {'ime': 'Goca', 'Starost': 27};

>>> recnik4 = {'ime': 'Aca', 'Starost':21};

>>> print "vrednost poredjenja : %d" %  cmp (recnik1, recnik2)

vrednost poredjenja : -1

>>> print "vrednost poredjenja: %d"  %  cmp (recnik2, recnik3)

vrednost poredjenja: -1

>>> print "vrednost poredjenja: %d"  %  cmp (recnik1, recnik4)

vrednost poredjenja: 0

<dictionary>.copy()   Kopiranje rečnika:

>>> rec=recnik1.copy()

>>> print rec

{'Starost': 21, 'ime': 'Aca'}

   

<dictionary>.has_key(<key>)    Pretraživanje rečnika po ključu:

>>> print recnik1.has_key('Prezime')

False

>>> print recnik1.has_key('ime')

True

   

<dictionary>.items()      Ispisivanje parova elemenata rečnika:

>>> print recnik1.items()

[('Starost', 21), ('ime', 'Aca')]

   

<dictionary>.keys()        Ispisivanje ključeva elemenata rečnika:

>>> print recnik1.keys()

['Starost', 'ime']

   

<dictionary>.values()    Ispisivanje vrednosti elemenata rečnika:

>>> print recnik1.values()

[21, 'Aca']

   

<dictTarget>.update(<dictSource>)   Zamena sadržaja jednog rečnika (recnik2) drugim (recnik1)"

>>> rec1={'ime': 'Aca', 'Starost':21};

>>> rec2={'imeOca': 'Laza', 'Visina':178};

>>> rec1.update(rec2)

>>> print rec1

{'imeOca': 'Laza', 'Starost': 21, 'ime': 'Aca', 'Visina': 178}

#

>>> print "ako su kljucevi isti, stare kljuceve zamenjuje novim"

>>> print recnik1

{'Starost': 21, 'ime': 'Aca'}

>>> print recnik1

{'Starost': 27, 'ime': 'Goca'}

>>> recnik1.update(recnik2)

>>> print recnik1

{'Starost': 27, 'ime': 'Goca'}

   

<dictionary>.get(<key>, <default>)    Pretraga: ako se nađe traženi ključ, vrati se njegova vrednost, inače se vrati neka vrednost definisana unapred promenljivom datom kao 2.parametar u pozivu metode.

>>> print recnik1.get("ime", "Nema imena")

Goca

>>> print recnik1.get("Prezime", "Nema Prezimena")

Nema Prezimena

   

   

<dictionary>.setdefault(<key>, <default>)    Pretraga: ako se nađe traženi ključ, vrati se njegova vrednost, inače se postavi nova vrednost toga ključa, definisana unapred promenljivom datom kao 2. parametar u pozivu metode.

>>> print recnik1.setdefault("ime", "Nema imena")

Goca

>>> print recnik1.setdefault("Prezime", "Nema Prezimena")

Nema Prezimena

>>> print recnik1

{'Starost': 27, 'ime': 'Goca', 'Prezime': 'Nema Prezimena'}

   

   

<dictionary>.pop(<key>)  Pretraga: vraća vrednost odabranog ključa i briše par iz rečnika

>>> print recnik1.pop('ime')

Goca

>>> print recnik1

{'Starost': 27,  'Prezime': 'Nema Prezimena'}

 

Beograd, novembar 2010.