Stewdent.eu
▾

Návratové hodnoty

Funkcia môže pomocou príkazu return vrátiť výsledok volajúcemu kódu. Návratové hodnoty umožňujú využiť výsledok funkcie v ďalších výpočtoch.

Posledná aktualizácia: 25. januára 2026

★★☆☆☆ Stupeň 2computingprogrammingfunkciereturnnavratova-hodnota3 min čítania

Nahlásiť chybu

Funkcia nielen vykonáva akcie (ako výpis textu), ale môže aj vrátiť výsledok — hodnotu, ktorú môžeš ďalej použiť vo výpočtoch, uložiť do premennej alebo odovzdať inej funkcii.

Príkaz return

Príkaz return ukončí funkciu a odovzdá hodnotu späť volajúcemu kódu:

def zdvojnasob(x):
    return x * 2

vysledok = zdvojnasob(5)
print(vysledok)   # 10

Bez return by funkcia vrátila špeciálnu hodnotu None, čo znamená "nič":

def zdvojnasob_bez_return(x):
    x * 2   # vypočíta, ale nevráti!

vysledok = zdvojnasob_bez_return(5)
print(vysledok)   # None
Upozornenie

Zabudnutý return je častá chyba začiatočníkov. Ak funkcia má vypočítať hodnotu, nezabudni ju vrátiť pomocou return.

Využitie návratovej hodnoty

Vrátenú hodnotu môžeš:

  • Uložiť do premennej
  • Použiť priamo vo výraze
  • Odovzdať ako argument inej funkcii
def mocnina(zaklad, exponent):
    return zaklad ** exponent

# Uloženie do premennej
osem = mocnina(2, 3)

# Priame použitie vo výraze
print(mocnina(3, 2) + mocnina(4, 2))   # 9 + 16 = 25

# Vnorené volanie
print(mocnina(mocnina(2, 2), 3))        # mocnina(4, 3) = 64

Viacnásobný return

Funkcia môže obsahovať viac príkazov return — prvý, ktorý sa vykoná, funkciu ukončí:

def je_parné(cislo):
    if cislo % 2 == 0:
        return True
    return False

print(je_parné(4))   # True
print(je_parné(7))   # False
Tip

Príkazy return vo vetvách if/else sú čisté a prehľadné. Akonáhle Python narazí na return, funkcia sa okamžite skončí — zvyšok kódu funkcie sa nevykoná.

Vrátenie viacerých hodnôt

Python umožňuje vrátiť viacero hodnôt naraz (ako n-ticu):

def min_max(zoznam):
    return min(zoznam), max(zoznam)

minimalny, maximalny = min_max([3, 1, 4, 1, 5, 9, 2, 6])
print(f"Min: {minimalny}, Max: {maximalny}")   # Min: 1, Max: 9

Praktický príklad — kalkulačka

def vypocitaj_znamku(body):
    if body >= 90:
        return 1
    elif body >= 75:
        return 2
    elif body >= 60:
        return 3
    elif body >= 45:
        return 4
    else:
        return 5

moje_body = 78
znamka = vypocitaj_znamku(moje_body)
print(f"Za {moje_body} bodov dostaneš známku {znamka}.")

Funkcie bez návratovej hodnoty

Nie každá funkcia musí niečo vracať. Funkcie, ktoré len vykonávajú akcie (výpis, kreslenie, ukladanie), zvyčajne nemajú return:

def vypis_separátor():
    print("-" * 40)

vypis_separátor()   # funkcia niečo urobí, ale nič nevráti
Poznámka

V Pythone každá funkcia bez explicitného return vracia None. Funkcie, ktoré niečo vracajú, sa nazývajú funkcie s hodnotou (value-returning functions). Ostatné sa niekedy nazývajú procedúry.

Cvičné príklady

Čo je zlé na nasledujúcom kóde? def plocha_kruhu(r): import math plocha = math.pi * r ** 2; print(plocha)

Zobraziť odpoveď
Funkcia vypíše plochu, ale nevracia ju pomocou return. Výsledok nemôžeš použiť v ďalších výpočtoch. Správne by malo byť: return math.pi * r ** 2

Napíš funkciu absolútna_hodnota(x), ktorá vráti kladnú hodnotu čísla x bez použitia vstavanej funkcie abs().

Zobraziť odpoveď
def absolútna_hodnota(x): if x < 0: return -x; return x — ak je číslo záporné, vrátime jeho negáciu (čím ho urobíme kladným), inak vrátime číslo priamo.