Manjka nam še izpis najhladnejšega dneva – to je tam, kjer smo na koncu pustili tri pike. Naloga zahteva pri najhladnejšem dnevu enak izpis kot pri najtoplejšem, tako da bi morali pravzaprav kar skopirati stavke, ki smo jih uporabili za izpis najtoplejšega dneva. V prejšnjem programu se s tem ukvarja kar sedem vrstic programa.
Toda takšno kopiranje stavkov je neugodno. Program je zaradi tega daljši in manj pregleden; človek, ki ga pogleda, ne more takoj vedeti, ali sta obe kopiji res enaki ali pa je med njima kakšna drobna (in mogoče pomembna) razlika. In če bomo hoteli kasneje pri izpisu kaj spremeniti ali pa odpraviti kakšno napako, bomo morali enako popraviti obe kopiji.
Namesto kopiranja takšne skupine stavkov je bolje iz njih narediti funkcijo, ki jo lahko potem pokličemo tako za izpis najtoplejšega kot za izpis najhladnejšega dneva.
Naša nova rešitev (glej program v nadaljevanju) se začne s stavkom def
, ki pomeni deklaracijo funkcije. Z njo pythonu povemo, kako naj bo naši funkciji ime (v tem primeru je to Izpisi
) in kateri stavki naj jo sestavljajo (to je blok zamaknjenih stavkov, ki sledijo stavku def
; tej skupini stavkov pravimo telo funkcije). Tolmač na tem mestu teh stavkov še ne bo poskušal izvesti, pač pa si jih le zapomni za kasneje.
V nadaljevanju programa imamo dvakrat vrstico Izpisi()
– temu pravimo klic funkcije. Funkcijo torej pokličemo tako, da navedemo njeno ime in za njim zapišemo par oklepajev (v oklepajih lahko navedemo tudi parametre; več o tem na naslednji strani). Ko pride tolmač pri izvajanju programa do takšne vrstice, bo po vrsti izvedel stavke iz telesa funkcije, nato pa se izvajanje vrne iz funkcije nazaj v glavni blok programa in se nadaljuje z naslednjim stavkom za klicem.