En Python, podemos devolver múltiples valores de una función. Las siguientes son diferentes formas
1) 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.
# 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
A continuación se presentan métodos interesantes para alguien que cambia el mundo de C++/Java.
2) 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 y lista.
# 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
3) Usar 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.
# 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]
4) Uso de un diccionario: un diccionario es similar a hash o map en otros idiomas. Vea esto para detalles del diccionario.
# 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'}
5) Uso de la clase de datos (Python 3.7+): en Python 3.7 y superior, la clase de datos se puede usar para devolver una clase con métodos únicos agregados automáticamente. El módulo Clase de datos tiene un decorador y funciones para agregar automáticamente métodos especiales generados como __init__() y __repr__() en las clases definidas por el usuario.
from dataclasses import dataclass @dataclass class Book_list: name: str perunit_cost: float quantity_available: int = 0 # function to calculate total cost def total_cost(self) -> float: return self.perunit_cost * self.quantity_available book = Book_list("Introduction to programming.", 300, 3) x = book.total_cost() # print the total cost # of the book print(x) # print book details print(book) # 900 Book_list(name='Python programming.', perunit_cost=200, quantity_available=3)
Producción:
900 Book_list(name='Introduction to programming.', perunit_cost=300, quantity_available=3) Book_list(name='Python programming.', perunit_cost=200, quantity_available=3)
Referencia:
http://stackoverflow.com/questions/354883/how-do-you-return-multiple-values-in-python
Este artículo es una contribución de Shubham Agrawal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA