Návratový príkaz Pythonu
A návratový výkaz sa používa na ukončenie vykonávania volania funkcie a vracia výsledok (hodnotu výrazu nasledujúceho za kľúčovým slovom return) volajúcemu. Príkazy po návratových príkazoch sa nevykonajú. Ak je príkaz return bez výrazu, vráti sa špeciálna hodnota None. A vrátiť vyhlásenie sa celkovo používa na vyvolanie funkcie, aby bolo možné vykonať odovzdané príkazy.
Poznámka: Príkaz Return nemožno použiť mimo funkcie.
Syntax:
def fun(): statements . . return [expression]
Príklad:
def cube(x): r=x**3 return r
Príklad:
Python3
# Python program to> # demonstrate return statement> def> add(a, b):> > # returning sum of a and b> > return> a> +> b> def> is_true(a):> > # returning boolean of a> > return> bool> (a)> # calling function> res> => add(> 2> ,> 3> )> print> (> 'Result of add function is {}'> .> format> (res))> res> => is_true(> 2> <> 5> )> print> (> '
Result of is_true function is {}'> .> format> (res))> |
Výkon:
Result of add function is 5 Result of is_true function is True
Vrátenie viacerých hodnôt
V Pythone môžeme vrátiť viacero hodnôt z funkcie. Nasledujú rôzne spôsoby.
- Pomocou Object: Je to podobné ako v C/C++ a Jave, môžeme vytvoriť triedu (v C, struct), ktorá bude obsahovať viacero hodnôt a vráti objekt triedy.
Príklad
Python3
# A Python program to return multiple> # values from a method using class> class> Test:> > def> __init__(> self> ):> > self> .> str> => 'geeksforgeeks'> > self> .x> => 20> > # This function returns an object of Test> def> fun():> > return> Test()> > # Driver code to test above method> t> => fun()> print> (t.> str> )> print> (t.x)> |
Výkon
geeksforgeeks 20
- Použitie Tuple: Tuple je čiarkou oddelená postupnosť položiek. Je vytvorený s alebo bez (). N-tice sú nemenné. Pozri toto pre podrobnosti o násobný .
Python3
# A Python program to return multiple> # values from a method using tuple> > # This function returns a tuple> def> fun():> > str> => 'geeksforgeeks'> > x> => 20> > return> str> , x;> # Return tuple, we could also> > # write (str, x)> > # Driver code to test above method> str> , x> => fun()> # Assign returned tuple> print> (> str> )> print> (x)> |
- Výkon:
geeksforgeeks 20
- Používanie zoznamu: Zoznam je ako pole položiek vytvorených pomocou hranatých zátvoriek. Líšia sa od polí, pretože môžu obsahovať položky rôznych typov. Zoznamy sa líšia od n-tic, pretože sú meniteľné. Podrobnosti o zozname nájdete tu.
Python3
# A Python program to return multiple> # values from a method using list> > # This function returns a list> def> fun():> > str> => 'geeksforgeeks'> > x> => 20> > return> [> str> , x];> > # Driver code to test above method> list> => fun()> print> (> list> )> |
- Výkon:
['geeksforgeeks', 20]
- Používanie slovníka: Slovník je podobný ako hash alebo mapa v iných jazykoch. Pozri toto pre podrobnosti o slovník .
Python3
# A Python program to return multiple> # values from a method using dictionary> > # This function returns a dictionary> def> fun():> > d> => dict> ();> > d[> 'str'> ]> => 'techcodeview.com'> > d[> 'x'> ]> => 20> > return> d> > # Driver code to test above method> d> => fun()> print> (d)> |
- Výkon:
{'x': 20, 'str': 'techcodeview.com'} Funkcia, ktorá vracia inú funkciu
V Pythone sú funkcie objekty, takže môžeme vrátiť funkciu z inej funkcie. Je to možné, pretože funkcie sú v Pythone považované za objekty prvej triedy. Ak sa chcete dozvedieť viac o prvotriednych objektoch, kliknite sem.
V nižšie uvedenom príklade funkcia create_adder vracia funkciu sčítačky.
Python3
# Python program to illustrate functions> # can return another function> def> create_adder(x):> > def> adder(y):> > return> x> +> y> > return> adder> add_15> => create_adder(> 15> )> print> (> 'The result is'> , add_15(> 10> ))> # Returning different function> def> outer(x):> > return> x> *> 10> def> my_func():> > > # returning different function> > return> outer> # storing the function in res> res> => my_func()> print> (> '
The result is:'> , res(> 10> ))> |
Výkon:
The result is 25 The result is: 100