12.07.2015 Views

Python

Python

Python

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!