Em Python, podemos retornar vários valores de uma função. A seguir estão maneiras diferentes:
Usando Object: É semelhante a C / C++ e Java, podemos criar uma classe (em C, struct) para conter vários valores e retornar um objeto da classe.
# Um programa Python para retornar vários # valores de um método usando classe class Teste: def __init__(self): self.str = "Acervo Lima" self.x = 20 # Essa função retorna um objeto da classe Teste def fun(): return Teste() t = fun() print(t.str) print(t.x)
Resultado:
Acervo Lima 20
Usando Tupla: Uma Tupla é uma sequência de itens separados por vírgulas. Ele é criado com ou sem ()
. As tuplas são imutáveis.
# Um programa Python para retornar vários # valores de um método usando tupla # Esta função retorna uma tupla def fun(): str = "Acervo Lima" x = 20 return str, x; str, x = fun() print(str) print(x)
Resultado:
Acervo Lima 20
Usando uma lista: uma lista é como um conjunto de itens criados com colchetes. Eles são diferentes dos arrays, pois podem conter itens de diferentes tipos. As listas são diferentes das tuplas porque são mutáveis.
# Um programa Python para retornar vários # valores de um método usando lista # Esta função retorna uma lista def fun(): str = "Acervo Lima" x = 20 return [str, x]; list = fun() print(list)
Resultado:
['Acervo Lima', 20]
Usando um Dicionário: Um Dicionário é semelhante ao hash ou mapa em outras línguas.
# Um programa Python para retornar vários # valores de um método usando dicionário # Esta função retorna um dicionário def fun(): d = dict(); d['str'] = "Acervo Lima" d['x'] = 20 return d d = fun() print(d)
Resultado:
{'str': 'Acervo Lima', 'x': 20}
Usando a classe de dados (Python 3.7+): No Python 3.7 e superior, a classe de dados pode ser usada para retornar uma classe com métodos exclusivos adicionados automaticamente. O módulo Data Class tem um decorador e funções para adicionar automaticamente métodos especiais gerados, como __init__()
e __repr__()
nas classes definidas pelo usuário.
from dataclasses import dataclass @dataclass class Book_list: name: str perunit_cost: float quantity_available: int = 0 # Função para calcular o preço total def total_cost(self) -> float: return self.perunit_cost * self.quantity_available book = Book_list("Introduction to programming.", 300, 3) x = book.total_cost() # mostra o preço total do livro print(x) # imprime os detalhes do livro print(book) # 900 Book_list( name='Python programming.', perunit_cost=200, quantity_available=3 )
Resultado:
900 Book_list(name='Introduction to programming.', perunit_cost=300, quantity_available=3)
Referência: How do I return multiple values from a function?
Artigo escrito por Shubham Agrawal e traduzido por Acervo Lima de Returning Multiple Values in Python
0 comentários:
Postar um comentário