A declaración de devolución se utiliza para finalizar la ejecución de la llamada a la función y devuelve el resultado (valor de la expresión que sigue a la palabra clave return) a la persona que llama. Las declaraciones posteriores a las declaraciones de devolución no se ejecutan. Si la declaración de devolución no tiene ninguna expresión, entonces se devuelve el valor especial Ninguno. A devolver declaración En general, se utiliza para invocar una función para que las declaraciones pasadas puedan ejecutarse.
Nota: La declaración de devolución no se puede utilizar fuera de la función.
Sintaxis:
def fun(): statements . . return [expression]>
Ejemplo:
def cube(x): r=x**3 return r>
Ejemplo:
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))> |
>
>
Producción:
Result of add function is 5 Result of is_true function is True>
Devolver múltiples valores
En Python, podemos devolver múltiples valores de una función. A continuación se muestran diferentes formas.
- Usando Objeto: Esto es similar a C/C++ y Java, podemos crear una clase (en C, estructura) para contener múltiples valores y devolver un objeto de la clase.
Ejemplo
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)> |
>
>Producción
geeksforgeeks 20>
- Usando Tuple: Una Tupla es una secuencia de elementos separados por comas. Se crea con o sin (). Las tuplas son inmutables. Ver este para detalles de tupla .
Python3
ejemplos de programación en Python
# 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)> |
>
>
- Producción:
geeksforgeeks 20>
- Usando una lista: una lista es como una matriz de elementos creados usando corchetes. Se diferencian de las matrices en que pueden contener elementos de diferentes tipos. Las listas se diferencian de las tuplas en que son mutables. Consulte esto para obtener detalles de la lista.
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>)> |
>
>
- Producción:
['geeksforgeeks', 20]>
- Uso de un diccionario: un diccionario es similar a un hash o un mapa en otros idiomas. Ver este para detalles de diccionario .
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)> |
>
>
- Producción:
{'x': 20, 'str': 'techcodeview.com'}> Función que devuelve otra función
En Python, las funciones son objetos, por lo que podemos devolver una función a partir de otra función. Esto es posible porque las funciones se tratan como objetos de primera clase en Python. Para saber más sobre objetos de primera categoría haga clic aquí.
En el siguiente ejemplo, la función create_adder devuelve la función sumadora.
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>))> |
agregando a la matriz java
>
>
Producción:
The result is 25 The result is: 100>