A declaració de retorn s'utilitza per finalitzar l'execució de la crida de funció i retorna el resultat (valor de l'expressió després de la paraula clau de retorn) a la persona que truca. Les sentències posteriors a les declaracions return no s'executen. Si la instrucció de retorn no té cap expressió, es retorna el valor especial Cap. A tornar declaració s'utilitza en general per invocar una funció perquè les sentències passades es puguin executar.
Nota: La declaració de retorn no es pot utilitzar fora de la funció.
Sintaxi:
def fun(): statements . . return [expression]>
Exemple:
def cube(x): r=x**3 return r>
Exemple:
Python 3
# 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))> |
>
>
Sortida:
Result of add function is 5 Result of is_true function is True>
Devolució de múltiples valors
A Python, podem retornar diversos valors d'una funció. A continuació hi ha diferents maneres.
- Utilitzant Object: Això és similar a C/C++ i Java, podem crear una classe (en C, struct) per contenir diversos valors i retornar un objecte de la classe.
Exemple
Python 3
# 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)> |
>
>Sortida
geeksforgeeks 20>
- Ús de tupla: una tupla és una seqüència d'elements separats per comes. Es crea amb o sense (). Les tuples són immutables. Vegeu això per als detalls de tupla .
Python 3
intel·ligència artificial i agents intel·ligents
# 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)> |
>
>
- Sortida:
geeksforgeeks 20>
- Ús d'una llista: una llista és com una matriu d'elements creats amb claudàtors. Són diferents de les matrius, ja que poden contenir elements de diferents tipus. Les llistes són diferents de les tuples ja que són mutables. Vegeu això per obtenir els detalls de la llista.
Python 3
# 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>)> |
>
>
- Sortida:
['geeksforgeeks', 20]>
- Ús d'un diccionari: un diccionari és semblant a hash o map en altres idiomes. Vegeu això per als detalls de diccionari .
Python 3
# 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)> |
>
>
- Sortida:
{'x': 20, 'str': 'techcodeview.com'}> Funció que retorna una altra funció
A Python, les funcions són objectes, de manera que podem retornar una funció des d'una altra funció. Això és possible perquè les funcions es tracten com a objectes de primera classe a Python. Per saber més sobre objectes de primera classe, feu clic aquí.
A l'exemple següent, la funció create_adder retorna la funció sumadora.
Python 3
# 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>))> |
>
declaració java
>
Sortida:
The result is 25 The result is: 100>