Edit detail for return revision 1 of 1

1
Editor: geon
Time: 2006/02/28 20:20:35 GMT+0
Note: výtah z konference

changed:
-
Slovo return pochází z angličtiny [rit@:n, čili delší
temné e]. Znamená jednoduše "návrat". V programování
se jednoznačně používá pro příkaz, který ukončuje
činnost funkce nebo metody a vrací volajícímu nějakou
hodnotu. 

Pokud v pythonovské funkci použiji return, činnost 
funkce se okamžitě ukončí a volajícímu se vrátí hodnota.

Hodnota může být prázdná (napíšu return bez parametrů),
nebo je konkrétní, jedna. Vrácená hodnota může být
jednoduchého typu (například jedno číslo) nebo může
být trochu složitější.

Příkaz return může vracet jedinou věc. Tou jedinou
věcí je "nic" (čili None), nebo například jedno číslo, 
jeden řetězec, jedna dvojice, jedna trojice, jeden
slovník, jeden uživatelem vytvořený objekt a podobně.

Pokud to vrácené něco použiji na pravé straně 
přiřazení (tj. za rovnítkem), spojí se to
se jménem na levé straně přiřazení::

    def mojeFunkce():
        cislo=10
        return pocet
    
    mnozství=mojeFunkce() 

Pokud na levé straně přiřazení použiji více jmen,
spojí se dohodnutým způsobem s více částmi toho
jednoho, co se vyskytuje na pravé straně přiřazení::

    def mojeFunkce:
        cislo=10
        jmeno="Jirka"
        return cislo, jmeno
    
    mnozstvi, zadatel=mojeFunkce()

Když například vrátím dvojici čísel a na levé straně
uvedu jedno jméno, pak se přes toto jedno jméno 
dostanu na celou jednu dvojici. Pokud ale na levé
straně uvedu dvě jména, spojí se první jméno s prvním
členem dvojice a druhé jméno s druhým členem dvojice.
Pokud bych na levé straně uvedl tři jména, pak se 
třetí jméno nemá s čím spojit a stroj (podle dohody)
zahlásí chybu::

    def mojeFunkce:
        cislo=10
        jmeno="Jirka"
        return cislo, jmeno
    
    mnozstvi, zadatel, bydliste=mojeFunkce()  # zahlasi chybu

Poslední i předposlední ukázka úzce souvisí s ParalelniPrirazeni a jedná se o praktické využití jedné pythonovské fíčurky::

    a,b,c = 1,2,3
    nebo taky
    a,b,c=[1,2,3]
    a,b,c=(1,2,3)

return a,b je ve skutečnosti return (a,b), takže se vrací tuple, která 
se samorozbaluje do přislušných proměnných.

Příkaz return může se může ve funkci objevit několikrát  - uprostřed nebo na konci. Platí pravidlo, že první return bere vše, tedy že na ostatní returny se již nedostane::

    def mojeFunkce():
        cislo=10
        if cislo < 10:
           return "Cislo je mensi nez 10"
        else:
           return "Cislo je vetsi nebo rovno 10"
            
    vysledek=mojeFunkce() 


 

Slovo return pochází z angličtiny [rit@:n, čili delší temné e]. Znamená jednoduše "návrat". V programování se jednoznačně používá pro příkaz, který ukončuje činnost funkce nebo metody a vrací volajícímu nějakou hodnotu.

Pokud v pythonovské funkci použiji return, činnost funkce se okamžitě ukončí a volajícímu se vrátí hodnota.

Hodnota může být prázdná (napíšu return bez parametrů), nebo je konkrétní, jedna. Vrácená hodnota může být jednoduchého typu (například jedno číslo) nebo může být trochu složitější.

Příkaz return může vracet jedinou věc. Tou jedinou věcí je "nic" (čili None), nebo například jedno číslo, jeden řetězec, jedna dvojice, jedna trojice, jeden slovník, jeden uživatelem vytvořený objekt a podobně.

Pokud to vrácené něco použiji na pravé straně přiřazení (tj. za rovnítkem), spojí se to se jménem na levé straně přiřazení:

    def mojeFunkce():
        cislo=10
        return pocet

    mnozství=mojeFunkce() 

Pokud na levé straně přiřazení použiji více jmen, spojí se dohodnutým způsobem s více částmi toho jednoho, co se vyskytuje na pravé straně přiřazení:

    def mojeFunkce:
        cislo=10
        jmeno="Jirka"
        return cislo, jmeno

    mnozstvi, zadatel=mojeFunkce()

Když například vrátím dvojici čísel a na levé straně uvedu jedno jméno, pak se přes toto jedno jméno dostanu na celou jednu dvojici. Pokud ale na levé straně uvedu dvě jména, spojí se první jméno s prvním členem dvojice a druhé jméno s druhým členem dvojice. Pokud bych na levé straně uvedl tři jména, pak se třetí jméno nemá s čím spojit a stroj (podle dohody) zahlásí chybu:

    def mojeFunkce:
        cislo=10
        jmeno="Jirka"
        return cislo, jmeno

    mnozstvi, zadatel, bydliste=mojeFunkce()  # zahlasi chybu

Poslední i předposlední ukázka úzce souvisí s ParalelniPrirazeni a jedná se o praktické využití jedné pythonovské fíčurky:

    a,b,c = 1,2,3
    nebo taky
    a,b,c=[1,2,3]
    a,b,c=(1,2,3)

return a,b je ve skutečnosti return (a,b), takže se vrací tuple, která se samorozbaluje do přislušných proměnných.

Příkaz return může se může ve funkci objevit několikrát - uprostřed nebo na konci. Platí pravidlo, že první return bere vše, tedy že na ostatní returny se již nedostane:

    def mojeFunkce():
        cislo=10
        if cislo < 10:
           return "Cislo je mensi nez 10"
        else:
           return "Cislo je vetsi nebo rovno 10"

    vysledek=mojeFunkce()