Funktsioonid
Funktsiooni välja kutsumine
Vastan eelmise peatüki viimase rea küsimusele: ei, kindlasti ei ole funktsioonid ainult selleks, et pealkirjastada erinevaid koodijuppe umbes nagu pannakse raamatu peatükkidele pealkirju, ei. Funktsioonidel on palju, palju mõistlikum rakendus.
Tänu funktsioonidele võin ma kirjutada ühte koodijuppi ainult ühe korra ning kui mul on seda juppi vaja mitmes erinevas kohas, siis saan vaid viidata juba olemasolevale osale programmis. Seda võimaldab funktsiooni nimi. Võin funktsiooni välja kutsuda mistahes teises programmi osas ja nii mitu korda kui vaja, ilma et oleks pidanud uuesti ja uuesti sama koodijuppi kirjutama.
Vaatame ühte lihtsat näidet:


Siin näites ma defineerin kaks funktsiooni, kiitus ja laitus. Need funktsioonid ma kutsun välja kahes erinevas if-lauses, kord kahe arvu summa kontrolli juures, kord kahe arvu vahe kontrolli juures. Kuigi mu funktsioonid on väga väikesed ja ei tee suurt midagi, on aja kokkuhoid aga juba märgatav.
Jah, ma oleksin võinud ka need paar lauset kopeerida mõlemasse if-lausesse, kuid see muudab koodi kirjumaks ja loetamatumaks. Pealegi üldjuhul on funktsioonide sisu märksa keerulisem, kui lihtsalt print käsk.

Veel üks oluline punkt, miks kasutada funktsioone. Kui ma pean mitu korda ühte ja sama koodijuppi mitmes eri kohas kasutama, oletame et ma olen juba need jõudnud ära kirjutada ja ma ei kasuta funktsioone. Mingi aja pärast aga avastan, et olen selles programmijupis teinud olulise vea, siis nüüd pean vea parandamiseks terve programmi uuesti läbi käima (ütleme nii 10-100 kohas), siis on see üks väga tüütu asi. Funktsioonide korral oleks mul piisanud vaid funktsiooni sees ühe korra muutus teha ja see oleks funktsiooni nime kaudu kui viida kaudu kõikidesse väljakutsutavatesse kohtadesse mõjunud.