Funkce je pojmenovaný blok příkazů. Funkcím můžeme předávat argumenty. Funkce vrací návratovou hodnotu.
Definice funkce
Python nabízí celou řadu vestavěných funkcí, tedy takových, které jsou již připravené tvůrci jazyka. Příkladem je třeba funkce len
, která počítá délku řetězce.
Vlastní funkci definujeme pomocí klíčového slova def
:
Tímto jsme definovali funkci say_hello
, která má parametr name
. Funkce může mít i více parametrů.
Volání funkce
Tím, že definujeme funkci, se ještě nevykoná. Aby se funkce vykonala, musíme ji zavolat. To uděláme tak, že napíšeme jméno funkce a do závorek předáme konkrétní argument:
Některé funkce jsou bez parametrů. U jejich volání musíme závorky stále uvést, např. say_goodbye()
.
Návratová hodnota
Funkce může vracet návratovou hodnotu pomocí klíčového slova return
. Následující funkce vypočítá a vrátí faktoriál.
Takováto funkce sama o sobě nic neprovede, pouze vrátí hodnotu, se kterou můžeme dále pracovat.
Příkaz return
ukončuje provádění funkce. Při volání následující funkce se tedy vypíše pouze foo
:
Rozdíl return a print
Častý zdroj problémů u začátečníků je správné rozlišování mezi použitím print
a return
ve funkcích.
Použití print
způsobí okamžitý výpis hodnoty, nelze však s touto hodnotou nijak dál pracovat.
Použití return
ukončí funkci a vrátí hodnotu. Ta se automaticky nevypíše, ale můžeme ji přiřadit do proměnné a dále s ní pracovat.