Se utiliza una declaración de retorno para finalizar la ejecución de la llamada de función y «devuelve» el resultado (el valor de la expresión que sigue a la palabra clave de retorno) a la persona que llama. Las sentencias posteriores a las sentencias de retorno no se ejecutan. Si la declaración de devolución no tiene ninguna expresión, se devuelve el valor especial Ninguno. Una declaración de retorno se usa en general para invocar una función para que las declaraciones pasadas puedan ejecutarse.
Nota: la declaración de devolución no se puede usar 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("\nResult of is_true function is {}".format(res))
Producción:
Result of add function is 5 Result of is_true function is True
Devolver valores múltiples
En Python, podemos devolver múltiples valores de una función. Las siguientes son diferentes formas.
- Usando Object: Esto es similar a C/C++ y Java, podemos crear una clase (en C, struct) 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)
geeksforgeeks 20
- Uso de tupla: una tupla es una secuencia de elementos separados por comas. Se crea con o sin(). Las tuplas son inmutables. Ver esto para detalles de tupla .
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)
- Producción:
geeksforgeeks 20
- Uso de una lista: una lista es como una array de elementos creados con corchetes. Son diferentes de las arrays, ya 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 hash o map en otros idiomas. Consulte esto para obtener detalles del 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'] = "GeeksforGeeks" d['x'] = 20 return d # Driver code to test above method d = fun() print(d)
- Producción:
{'x': 20, 'str': 'GeeksforGeeks'}
Función que devuelve otra función
En Python, las funciones son objetos, por lo que podemos devolver una función desde otra función. Esto es posible porque las funciones se tratan como objetos de primera clase en Python. Para saber más sobre los objetos de primera clase haz clic aquí .
En el siguiente ejemplo, la función create_adder devuelve la función de sumador.
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("\nThe result is:", res(10))
Producción:
The result is 25 The result is: 100
Publicación traducida automáticamente
Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA