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
:
def say_hello(name):
print("Hello", name)
Tímto jsme definovali funkci say_hello
, která má parametr name
.
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:
say_hello("Alice") # vypíše Hello Alice
say_hello("Bob") # vypíše Hello Bob
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.
def factorial(n):
f = 1
for i in range(1, n+1):
f = f*i
return f
Takováto funkce sama o sobě nic neprovede, pouze vrátí hodnotu, se kterou můžeme dále pracovat.
factorial(5) # vypočítá hodnotu faktoriálu z 5, ale pak se tato
# hodnota nijak nepoužije
print(factorial(4)) # tentokrát výsledek výpočtu vypíšeme
x = factorial(6) # výsledek výpočtu se uloží do proměnné
print(x) # a pak třeba můžeme hodnotu proměnné vypsat
Vysvětlení mi pomohlo Vysvětlení mi nepomohlo

Rozhodovačka
Rychlé procvičování výběrem ze dvou možností.

Funkce (lehké)
47 Zadání
Typicky zabere: 11 min
Ukázka
Vypíše se celer?def test(x):
if x > 0:
return "mrkev"
return "celer"
print(test(-5))
Kolikrát se vypíše celer?def speak():
print("celer")
def talk():
print("mrkev")
speak()
talk()
speak()
Co vypíše program?def test(x):
print(x)
test(3)

Funkce (střední)
49 Zadání
Ukázka
Může se funkce f zacyklit?def f(n):
x = 0
while stop(x, n) != False:
x += 1
def stop(x, n):
if x > n:
print(True)
else:
print(False)
Ovlivní x hodnotu f(x)?def f(x):
x = double(x)
return x
def double(x):
print(2 * x)
Ovlivní x návratovou hodnotu f(x)?def f(x):
return print(max(x, 0))

Porozumění programům
Prohlédněte si vypracované řešení příkladů v Pythonu. Pro každý ukázkový program dostanete několik kontrolních otázek, které testují schopnost číst zdrojový kód a porozumět mu.