You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
POGLAVLJE 3Izrazi, operatori i operacije3.1 Varijable<strong>Python</strong> pristupa podacima s pomo¢u referenci. Jedna takva referenca je varijabla, tj. imenovani prostoru memoriji koji £uva adresu nekog objekta ili literala. Referenca takožer postoji i na atribut (vrijednost)nekog objekta. Varijabla ili druga vrsta reference nemaju svoj vlastiti tip, za razliku od podatka nakojeg pokazuju, kojeg referenciraju tj. £iju adresu pohranjuju. Budu¢i da je adresa jedinstvena usmislu broja okteta, svaka referenca moºe povezati objekte razli£itih tipova, ²to zna£i da je dinami£na,da se moºe mijenjati prilikom izvr²enja programa. U jednom trenutku varijabla moºe pokazivati nacjelobrojni podatak, a ve¢ u sljede¢em na realni, kompleksni ili neki sloºeni tip.U <strong>Python</strong>u nema deklaracija. Postojanje varijable ovisi o naredbi koja povezuje (eng. binding)varijablu i podatak; drugim rije£ima, naredbi koja imenuje neki objekt, bilo kojeg tipa. Mogu¢e jeodvezati (eng. unbinding) varijablu resetiranjem njenog imena, tako da vi²e ne sadrºi referencu na tajobjekt. Naredba del odvezuje reference.Povezivanje reference koja je ve¢ povezana poznato je kao re-povezivanje (eng. rebinding). Repovezivanjeili odvezivanje reference nema nikakv u£inak na objekt s koji je referenca bila povezana,osim ²to objekt nestaje ako vi²e ne postoji nikakva referenca koja se na njega odnosi. Odvezani objektisami ¢e nestati iz memorije. Za to se brine poseban <strong>Python</strong> modul, ugražen u interpreter. Takvoautomatsko £i²¢enje objekata bez referenci zove se sakupljanje sme¢a (engl. garbage collecting).Varijabla se moºe imenovati bilo kojim identikatorom, osim onih 30 koji su rezervirani kao <strong>Python</strong>klju£ne rije£i. Pritom identikator ima i neka svoja pravila: ne smije imati zabranjene simbole u sebi,ne smije po£injati brojem i sl. Varijabla moºe biti globalna ili lokalna. Globalna varijabla je dohvatljivas vi²e razina, a lokalna uglavnom u funkciji u kojoj se koristi.3.2 Naredbe pridruºivanjaNaredbe pridruºivanja mogu biti obi£ne ili pro²irene. Obi£no pridruºivanje varijabli (npr. name=value)je na£in stvaranja nove varijable ili re-povezivanja postoje¢e varijable na novu vrijednost (tj. promjenavrijednosti). Obi£na pridruºba na atribut objekta (npr. obj.attr=value) je zahtjev objektu obj dastvori ili re-poveºe atribut attr. Obi£na pridruºba za £lan u nekom nizu ili preslikavanju (listi ilirje£niku) (npr. obj[key] = value) je zahtjev spremniku obj da stvori ili re-poveºe £lan s indeksomkey. Takva pridruºba uklju£uje indeksiranje niza.Pro²irena pridruºba (npr. name+=value) ne stvara nove reference, nego samo re-povezuje varijablu.Postoje¢i objekt re-povezuje sebe ili jedan od svojih atributa ili £lanovas novom vrijedno²¢u.Taj se zahtjev uspje²no izvr²ava ili se podiºe iznimka, kojom se javlja neka vrsta pogre²ke. Iznimka25