Restituisce più valori da una funzione in Python

Manav Narula 30 gennaio 2023
  1. Usa una tupla per restituire più valori da una funzione in Python
  2. Usa una lista per restituire più valori da una funzione in Python
  3. Usa un dizionario per restituire più valori da una funzione in Python
  4. Usa una classe per restituire più valori da una funzione in Python
  5. Usa una dataclass per restituire più valori da una funzione in Python
Restituisce più valori da una funzione in Python

Le funzioni sono una parte essenziale di qualsiasi linguaggio di programmazione. Una funzione è un blocco di codice che può essere richiamato per eseguire una specifica operazione in programmazione. Di solito, una funzione viene utilizzata per restituire un valore. Questo valore può essere un numero, una stringa o qualsiasi altro tipo di dati.

In questo tutorial, discuteremo diversi metodi per creare una funzione che restituisce più valori. Per ottenere ciò, restituiremo diversi oggetti di dati come una lista, un dizionario e altri oggetti da una funzione definita dall’utente.

Usa una tupla per restituire più valori da una funzione in Python

Se restituiamo valori da una funzione separata da una virgola, vengono considerati una tupla. Le tuple sono generalmente racchiuse tra parentesi. Nel codice seguente, restituiremo una tupla da una funzione Python.

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


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

Produzione:

(6, 7) <class 'tuple'>

Usa una lista per restituire più valori da una funzione in Python

Gli liste Python vengono utilizzati per memorizzare diversi elementi con un nome comune e in posizioni specifiche. Le funzioni possono anche restituire più valori in una lista, come mostrato di seguito.

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


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

Produzione:

[6, 7] <class 'list'>

Usa un dizionario per restituire più valori da una funzione in Python

I dizionari vengono utilizzati per memorizzare le coppie chiave-valore in Python. Possiamo avere l’output finale in un formato molto più organizzato restituendo un dizionario da una funzione con chiavi assegnate a valori diversi. Vedi il seguente esempio.

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


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

Produzione:

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

Usa una classe per restituire più valori da una funzione in Python

Le classi contengono diversi membri di dati e funzioni e ci consentono di creare oggetti per accedere a questi membri. Possiamo restituire un oggetto di tali classi definite dall’utente in base alla struttura della classe e ai suoi membri dati. Per esempio:

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))

Produzione:

6 7 <class '__main__.return_values'>

Usa una dataclass per restituire più valori da una funzione in Python

Una dataclass è una nuova interessante funzionalità aggiunta in Python v3.7 e versioni successive. Sono simili alle classi tradizionali ma principalmente utilizzati per memorizzare dati e tutte le loro funzionalità di base sono già implementate. Il decoratore @dataclass e il modulo dataclass sono usati per creare tali oggetti. Nel codice seguente, restituiamo una dataclass da una funzione.

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))

Produzione:

6 7 <class '__main__.return_values'>
Autore: Manav Narula
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

Articolo correlato - Python Function