12.07.2015 Views

Python

Python

Python

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

POGLAVLJE 6FunkcijeVe¢ina naredbi tipi£nog <strong>Python</strong> programa organizirana je preko funkcija. Funkcija je skupina naredbikoje se izvr²avaju po pozivu. <strong>Python</strong> pruºa mnogo ugraženih funkcija i dopu²ta programerima deniranjevlastitih funkcija. Zahtjev za izvr²enje funkcije zove se funkcijski poziv (engl. function call).Kad se funkcija pozove, moºe primiti argumente koji speciciraju vrstu podataka s kojima funkcijaradi (obražuje ih). U <strong>Python</strong>u funkcija uvijek vra¢a rezultantnu vrijednost, koja moºe biti None ilivrijednost koja predstavlja rezultat nekog izra£una, izvr²enog u tijelu funkcije. U <strong>Python</strong>u su funkcijeobjekti, pa se sa njima upravlja isto kao i s drugim objektima. Tako se neka funkcija moºe proslijeditikao argument u pozivu neke druge funkcije. Sli£no tomu, funkcija moºe vratiti drugu funkciju kao rezultatobradbe, izvr²enja svog programskog kôda. Kao i svaki drugi objekt, funkcija moºe biti povezanas nekom varijablom, nekim £lanom unutar niza (polja, liste) ili atributom objekta. Funkcije takožermogu biti klju£evi u rje£niku.6.1 Naredba 'def'Funkcija se denira s pomo¢u klju£ne rije£i def. Def je naredba sa sljede¢om sintaksom:def funkcijsko_ime(parametri):naredba(e)funkcijsko_ime je identikator. To je varijabla koja se povezuje (ili re-povezuje) s funkcijskimobjektom prilikom izvr²enja naredbe def. parameteri je dopu²tena, slobodna lista identikatora, kojise zovu formalni parametri ili samo parametri, a koji se koriste kod poziva funkcija za pridruºivanjestvarnim vrijednostima koji se navode kao argumenti. U najjednostavnijem slu£aju, funkcija nema nikakvihformalnih parametara, ²to zna£i da kod poziva funkcija ne uzima nikakve argumente. U ovomslu£aju, denicija funkcije ima prazne zagrade koje slijede iza imena funkcije tj. funkcijsko_ime().Ako funkcija prihva¢a argumente, onda parametri sadrºe jedan ili vi²e identkatora, odvojenih zarezima.U ovom slu£aju, svaki poziv fukcije pridruºuje stvarne vrijednosti, argumente, s parametrima speciciranimau deniciji funkcije. Parametri su lokalne varijable funkcije, te svaki poziv funkcije povezuje tevarijable s odgovaraju¢im stvarnim vrijednostima koje pozivatelj navodi kao argumente. Niz naredbikoji nije prazan, poznatiji kao tijelo funkcije (engl. function body), ne izvr²ava se kada i naredba def.Ono se izvr²ava kasnije, svaki put kada se funkcija poziva. Tijelo funkcije moºe imati jednu ili vi²eponavljanja return naredbe, ali moºe postojati i bez nje. Evo primjera jednostavne funkcije koja vra¢advostruku vrijednost od one koju primi:def double(x):return x*251

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!