Funzioni e valori di ritorno in Python

In Python, una funzione è un blocco di codice che può essere eseguito ogni volta che viene richiamato. Per comunicare un risultato al termine dell’esecuzione, si utilizza la parola chiave return.

Esempio di funzione con un valore di ritorno

Questo esempio mostra una funzione che calcola la somma di due numeri e restituisce il risultato tramite return.

def somma(a, b):
{
    return a + b
}

Quando si richiama la funzione come somma(3, 5), essa restituirà 8.

Funzioni senza valore di ritorno

Non tutte le funzioni hanno bisogno di restituire un valore. Alcune si limitano ad eseguire un’azione, come stampare un messaggio.

def saluta(nome):
{
    print("Ciao, " + nome + "!")
}

In questo caso, la funzione non usa return: non produce un risultato, ma esegue un effetto.

Come restituire più valori in una funzione Python

Esempio di funzione con più valori di ritorno

Python permette di restituire più di un valore contemporaneamente, separandoli con una virgola.

def operazioni(a, b):
{
    somma = a + b
    differenza = a - b
    return somma, differenza
}

Richiamando operazioni(10, 4), si otterranno due valori: 14 e 6.

Destrutturare i valori di ritorno

È possibile assegnare i valori restituiti direttamente a più variabili:

risultato1, risultato2 = operazioni(10, 4)

Così risultato1 conterrà 14 e risultato2 conterrà 6.

Il valore di ritorno implicito: None

None come valore di ritorno

Quando una funzione non include esplicitamente return, Python restituisce automaticamente None.

def fai_nulla():
{
    pass
}

Chiamando fai_nulla(), il risultato sarà None.

Differenza tra None e altri valori

None rappresenta l’assenza di valore. È diverso da 0, "" (stringa vuota) o [] (lista vuota), che sono comunque valori validi.

Gestire valori di ritorno complessi in Python

Restituire una lista

È possibile restituire una lista per racchiudere più elementi in un singolo oggetto:

def crea_lista():
{
    return [1, 2, 3, 4]
}

Restituire un dizionario

Un dizionario consente di etichettare i dati, rendendo il risultato più esplicito.

def dati_persona():
{
    return {
        "nome": "Mario",
        "età": 30
    }
}

Restituire una funzione

Python consente di restituire anche un’altra funzione, aprendo la strada a tecniche più avanzate come le funzioni di ordine superiore.

def generatore_moltiplicatore(x):
{
    def moltiplica(y):
    {
        return x * y
    }
    return moltiplica
}

Scrivere funzioni con return condizionato

È comune usare condizioni per decidere cosa restituire. Questo rende la funzione più flessibile.

def classificazione(voto):
{
    if voto >= 18:
    {
        return "Promosso"
    }
    else:
    {
        return "Bocciato"
    }
}

In base al valore del parametro voto, la funzione restituirà un messaggio diverso.

Valori di ritorno multipli con oggetti complessi

Oltre a tuple e liste, è possibile restituire oggetti personalizzati o strutture dati complesse, come classi o oggetti JSON.

def crea_studente():
{
    return {
        "nome": "Luca",
        "materie": ["Matematica", "Informatica"],
        "media": 27.5
    }
}

Questa tecnica è molto utile per progetti reali in cui è necessario restituire una struttura ben organizzata di dati.

Corsi correlati

In Arrivo

Design Pattern per videogiochi

I Design Pattern sono soluzioni a problemi comuni che si incontrano nello sviluppo del software. Nel contesto dei videogiochi, questi pattern possono aiutare a gestire la complessità crescente dei giochi moderni. Sei appassionato di videogiochi? Hai mai pensato a come vengono progettati e sviluppati? Sei curioso di scoprire i segreti dietro la creazione dei tuoi giochi preferiti? Allora sei nel posto giusto! Questo corso è stato progettato per fornirti una solida comprensione dei Design Pattern, strumenti fondamentali per ogni sviluppatore di giochi. Attraverso esempi pratici e realistici, esploreremo insieme come questi pattern possono aiutarti a creare giochi più efficienti, flessibili e mantenibili.

In Arrivo

Corso Fondamenti di Python

Python, uno dei linguaggi di programmazione più popolari al mondo, è ampiamente utilizzato da colossi dell’informatica e della tecnologia come Google, la Nasa e Mozilla.
Questo corso sui fondamenti di Python esplorerà le ragioni del suo successo duraturo. Impareremo la potente ed espressiva sintassi di Python, che consente di ottenere risultati impressionanti con poche righe di codice.

In Arrivo

Blender Masterclass 2

I paesaggi, in generale, possono risultare intimidatori data la loro complessità, costituita da numerosi elementi che sembrano formare qualcosa di virtualmente infinito. Durante le lezioni di questo corso, ci concentreremo su una scomposizione delle diverse fasi coinvolte nella creazione di una scena, affrontandole una alla volta attraverso passi graduati.

In Arrivo

Blender Masterclass 1

In questo corso di Blender 3D, Masha, in collaborazione con Gedemy, vi mostrerà il processo di modellazione, UV mapping, shading, e texture painting di un asset. Una volta apprese le basi, vedremo anche come effettuare il baking delle textures e la preparazione con successivo export della mesh in modo che possa essere utilizzabile all’interno di un qualsiasi altro software.

Crea il tuo account gratuito Gedemy

Gedemy è la prima piattaforma di formazione italiana che ti permette di sviluppare competenze in ambiti come Game Design, Programming, Arte, 3D, Tech, AI e molto altro.