A returutlåtande används för att avsluta exekveringen av funktionsanropet och returnerar resultatet (värdet av uttrycket efter nyckelordet return) till den som ringer. Utlåtandena efter returutlåtandena exekveras inte. Om retursatsen är utan något uttryck, returneras specialvärdet None. A lämna tillbaka påstående används överlag för att anropa en funktion så att de godkända satserna kan köras.
Notera: Return-satsen kan inte användas utanför funktionen.
Syntax:
def fun(): statements . . return [expression]>
Exempel:
def cube(x): r=x**3 return r>
Exempel:
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>
Returnera flera värden
I Python kan vi returnera flera värden från en funktion. Följande är olika sätt.
- Använda objekt: Detta liknar C/C++ och Java, vi kan skapa en klass (i C, struct) för att hålla flera värden och returnera ett objekt i klassen.
Exempel
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>
- Använda Tuple: En Tuple är en kommaseparerad sekvens av objekt. Den skapas med eller utan (). Tuples är oföränderliga. Ser detta för detaljer om tuppel .
Python3
pyspark sql
# 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>
- Använda en lista: En lista är som en samling objekt skapade med hakparenteser. De skiljer sig från arrayer eftersom de kan innehålla föremål av olika typer. Listor skiljer sig från tuplar eftersom de är föränderliga. Se detta för detaljer om listan.
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]>
- Använda en ordbok: En ordbok liknar hash eller karta på andra språk. Ser detta för detaljer om lexikon .
Python3
mylivecricket.
# 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 som returnerar en annan funktion
I Python är funktioner objekt så vi kan returnera en funktion från en annan funktion. Detta är möjligt eftersom funktioner behandlas som förstaklassobjekt i Python. För att veta mer om förstklassiga objekt klicka här.
I exemplet nedan returnerar funktionen create_adder adderfunktionen.
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>