← Torna al blog Programmazione · 6 min di lettura

Le funzioni in Python: definirle e usarle

📅 6 giugno 2026 — di Alessandro Simone

Quando i programmi crescono, scrivere tutto il codice di fila diventa un caos. Le funzioni sono la soluzione: ci permettono di organizzare il codice in blocchi riutilizzabili, dando ordine e chiarezza. In questa guida vediamo cosa sono le funzioni in Python, come crearle e perché sono così importanti.

Cos'è una funzione?

Una funzione è un blocco di codice con un nome, che svolge un compito preciso e può essere richiamato ogni volta che serve. Hai già usato funzioni senza saperlo: print(), input() e len() sono funzioni predefinite di Python. La novità è che ora imparerai a crearne di tue.

Il vantaggio è enorme: scrivi il codice una volta sola e lo riusi quante volte vuoi, evitando di ripeterti. In programmazione c'è un principio chiamato DRY ("Don't Repeat Yourself", non ripeterti) e le funzioni sono il modo principale per rispettarlo.

Definire una funzione con def

In Python una funzione si crea con la parola chiave def:

def saluta():
    print("Ciao, benvenuto!")

saluta()   # chiamata: stampa "Ciao, benvenuto!"

Definire la funzione non la esegue: il codice dentro def viene eseguito solo quando la chiami scrivendone il nome seguito dalle parentesi. È un errore comune dimenticare le parentesi nella chiamata.

I parametri: dare informazioni alla funzione

Le funzioni diventano potenti quando ricevono dei dati in ingresso, chiamati parametri:

def saluta(nome):
    print("Ciao", nome)

saluta("Marco")    # Ciao Marco
saluta("Giulia")   # Ciao Giulia

Lo stesso codice produce risultati diversi a seconda del valore che passiamo. Puoi avere più parametri separati da virgole, ad esempio def somma(a, b).

Il valore di ritorno: return

Spesso vogliamo che una funzione restituisca un risultato, per poterlo usare altrove. Si fa con return:

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

risultato = somma(3, 5)
print(risultato)   # 8

La differenza tra print e return confonde molti: print mostra solo un valore a schermo, mentre return lo "consegna" al programma per riutilizzarlo. Una funzione che restituisce un valore è molto più flessibile.

Variabili locali e globali

Le variabili create dentro una funzione sono locali: esistono solo lì dentro e "spariscono" quando la funzione finisce. Questo è un bene, perché evita interferenze tra le diverse parti del programma:

def calcola():
    x = 10        # variabile locale
    return x

calcola()
print(x)   # ERRORE: x non esiste qui fuori

Pensare alle funzioni come a "scatole chiuse" che comunicano solo tramite parametri e return ti aiuterà a scrivere codice pulito.

Perché usare le funzioni?

In sintesi

Le funzioni sono blocchi di codice riutilizzabili che si definiscono con def, ricevono dati tramite i parametri e restituiscono risultati con return. Sono lo strumento che trasforma un principiante in un programmatore ordinato. Inizia a creare piccole funzioni per ogni compito: il tuo codice diventerà subito più chiaro e professionale.

Esercitati con le funzioni

Nella sezione esercizi trovi problemi su funzioni, parametri e return, con soluzioni spiegate.

Vai ai corsi →