EN returopgørelse bruges til at afslutte udførelsen af funktionskaldet og returnerer resultatet (værdien af udtrykket efter returneringsnøgleordet) til kalderen. Opgørelserne efter returopgørelserne udføres ikke. Hvis return-sætningen er uden noget udtryk, returneres den specielle værdi None. EN Vend tilbage udmelding bruges overordnet til at starte en funktion, så de beståede sætninger kan udføres.
Bemærk: Return statement kan ikke bruges uden for funktionen.
Syntaks:
def fun(): statements . . return [expression]>
Eksempel:
def cube(x): r=x**3 return r>
Eksempel:
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))> |
>
>
Produktion:
Result of add function is 5 Result of is_true function is True>
Returnerer flere værdier
I Python kan vi returnere flere værdier fra en funktion. Følgende er forskellige måder.
- Brug af objekt: Dette ligner C/C++ og Java, vi kan oprette en klasse (i C, struct) til at holde flere værdier og returnere et objekt af klassen.
Eksempel
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)> |
>
>Produktion
geeksforgeeks 20>
- Brug af Tuple: En Tuple er en kommasepareret sekvens af elementer. Det er oprettet med eller uden (). Tuples er uforanderlige. Se det her for detaljer vedr tupel .
Python3
postorder traversering af binært træ
# 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)> |
>
>
- Produktion:
geeksforgeeks 20>
- Brug af en liste: En liste er som en række elementer, der er oprettet ved hjælp af firkantede parenteser. De er forskellige fra arrays, da de kan indeholde elementer af forskellige typer. Lister er forskellige fra tupler, da de kan ændres. Se dette for detaljer om listen.
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>)> |
>
>
- Produktion:
['geeksforgeeks', 20]>
- Brug af en ordbog: En ordbog ligner hash eller kort på andre sprog. Se det her for detaljer vedr ordbog .
Python3
bash streng længde
# 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)> |
>
>
- Produktion:
{'x': 20, 'str': 'techcodeview.com'}> Funktion, der returnerer en anden funktion
I Python er funktioner objekter, så vi kan returnere en funktion fra en anden funktion. Dette er muligt, fordi funktioner behandles som førsteklasses objekter i Python. For at vide mere om førsteklasses objekter klik her.
I eksemplet nedenfor returnerer funktionen create_adder adder-funktionen.
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>))> |
>
>
Produktion:
The result is 25 The result is: 100>