Declaración de devolución de Python

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)
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *