Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
POGLAVLJE 7<strong>Python</strong> - objektni jezik<strong>Python</strong> je programski jezik temeljen na objektima. Za razliku od nekih drugih, takožer objektnoorijentiranih,jezika, <strong>Python</strong> ne uvjetuje kori²tenje isklju£ivo objektno-orijentirane paradigme. <strong>Python</strong>takožer podrºava proceduralno (strukturalno) programiranje s modulima i funkcijama, tako da jemogu¢e izabrati najprikladniju paradigmu programiranja za svaki dio programa. Op¢enito, objektnoorijentiranaparadigma najbolja je kada se ºele skupiti podaci i funkcije u prakti£ne pakete. Isto takomoºe biti korisna kada se ºele koristiti neki od <strong>Python</strong>ovih objektno-orijentiranih mehanizama, kao npr.nasliježivanje. Proceduralna paradigma, koja je bazirana na modulima i funkcijama, obi£no je jednostavnijai prikladnija u slu£ajima kada nikakve prednosti objektno-orijentiranog programiranja nisupotrebne. Novi stil objektnog modela postaje standard u novim verzijama <strong>Python</strong>a, pa se preporu£ujekoristiti ga za programiranje.7.1 Klase i instanceKlasa ili razred je <strong>Python</strong> objekt s nekoliko zna£ajki:• Objekt klase moºe se pozivati kao da je funkcija. Poziv stvara novi objekt, poznat kao instancaklase, za koju se zna kojoj klasi pripada.• Klasa ima po volji imenovane atribute koji se mogu povezivati i referirati.• Vrijednosti atributa klase mogu biti podat£ani objekti ili funkcijski objekti.• Atributi klase koji su povezani na funkcije poznati su kao metode klase.• Metoda moºe imati posebno ime denirano od <strong>Python</strong>a s dvije podcrte ('__') ispred i iza imena.<strong>Python</strong> upotrebljava takve posebne metode za neke operacije koje se izvr²avaju na instancamaklase.• Klasa moºe podatke i metode naslijediti od drugih klasa, pa potraga nekog atributa koji nijeunutar same klase prenosi se na druge objekte, roditelje klase.• Instanca klase je <strong>Python</strong> objekt s po volji imenovanim atributima koji se mogu povezivati ireferirati.• <strong>Python</strong> klase su objekti, pa se s njima postupa kao i s drugim objektima. Tako se klasa moºeprenijeti kao argument u pozivu funkcij, a funkcija moºe vratiti klasu kao rezultat poziva. Klasa,kao i bilo koji drugi objekt, moºe biti povezana na varijablu (lokalnu lili globalnu), £lan niza iliatribut objekta. Klase takožer mogu biti i klju£evi u rije£niku.59