Retornar vários valores de uma função em Python

Manav Narula 10 outubro 2023
  1. Use uma tupla para retornar vários valores de uma função em Python
  2. Use uma lista para retornar vários valores de uma função em Python
  3. Use um dicionário para retornar vários valores de uma função em Python
  4. Use uma classe para retornar vários valores de uma função em Python
  5. Use uma dataclass para retornar vários valores de uma função em Python
Retornar vários valores de uma função em Python

As funções são uma parte essencial de qualquer linguagem de programação. Uma função é um bloco de código que pode ser chamado para realizar uma operação específica na programação. Normalmente, uma função é usada para retornar um valor. Este valor pode ser um número, uma string ou qualquer outro tipo de dados.

Neste tutorial, discutiremos diferentes métodos para criar uma função que retorna vários valores. Para isso, retornaremos diferentes objetos de dados, como uma lista, um dicionário e outros objetos de uma função definida pelo usuário.

Use uma tupla para retornar vários valores de uma função em Python

Se retornarmos valores de uma função separados por uma vírgula, eles serão considerados uma tupla. As tuplas geralmente estão entre parênteses. No código a seguir, retornaremos uma tupla de uma função Python.

def return_multi(a):
    b = a + 1
    c = a + 2
    return b, c


x = return_multi(5)
print(x, type(x))

Resultado:

(6, 7) <class 'tuple'>

Use uma lista para retornar vários valores de uma função em Python

As listas Python são usadas para armazenar diferentes itens sob um nome comum e em posições específicas. As funções também podem retornar vários valores em uma lista, conforme mostrado abaixo.

def return_multi(a):
    b = a + 1
    c = a + 2
    return [b, c]


x = return_multi(5)
print(x, type(x))

Resultado:

[6, 7] <class 'list'>

Use um dicionário para retornar vários valores de uma função em Python

Os dicionários são usados ​​para armazenar pares de valores-chave em Python. Podemos ter a saída final em um formato muito mais organizado, retornando um dicionário de uma função com teclas atribuídas a valores diferentes. Veja o seguinte exemplo.

def return_multi(a):
    b = a + 1
    c = a + 2
    return {"b": b, "c": c}


x = return_multi(5)
print(x, type(x))

Resultado:

{'b': 6, 'c': 7} <class 'dict'>

Use uma classe para retornar vários valores de uma função em Python

As classes contêm diferentes membros de dados e funções e nos permitem criar objetos para acessar esses membros. Podemos retornar um objeto de tais classes definidas pelo usuário com base na estrutura da classe e seus membros de dados. Por exemplo:

class return_values:
    def __init__(self, a, b):
        self.a = a
        self.b = b


def return_multi(a):
    b = a + 1
    c = a + 2
    t = return_values(b, c)
    return t


x = return_multi(5)
print(x.a, x.b, type(x))

Resultado:

6 7 <class '__main__.return_values'>

Use uma dataclass para retornar vários valores de uma função em Python

Uma dataclass é um novo recurso interessante adicionado no Python v3.7 e superior. Eles são semelhantes às classes tradicionais, mas principalmente usados ​​para armazenar dados e todas as suas funcionalidades básicas já estão implementadas. O decorador @dataclass e o módulo dataclass são usados ​​para criar tais objetos. No código abaixo, retornamos uma dataclass de uma função.

from dataclasses import dataclass


@dataclass
class return_values:
    a: int
    b: int


def return_multi(a):
    b = a + 1
    c = a + 2
    t = return_values(b, c)
    return t


x = return_multi(5)
print(x.a, x.b, type(x))

Resultado:

6 7 <class '__main__.return_values'>
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Python Function