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?
- Riutilizzo: scrivi una volta, usa ovunque;
- Leggibilità: un nome ben scelto rende il codice autoesplicativo;
- Manutenzione: se devi correggere qualcosa, lo fai in un punto solo;
- Organizzazione: dividi un problema grande in tanti piccoli compiti.
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.
