Una funzione è un blocco di codice progettato per svolgere un compito specifico. In Python, le funzioni permettono di organizzare il codice, evitare ripetizioni e migliorare la leggibilità del programma.
Utilizzando le funzioni, possiamo scrivere una volta una sequenza di istruzioni e riutilizzarla più volte, semplicemente richiamandola nel momento del bisogno.
Struttura e sintassi delle funzioni
La sintassi per definire una funzione in Python è semplice e diretta. Ecco un esempio base:
def saluta():
{
print("Ciao! Benvenuto in Python.")
}
Il comando def
serve per dichiarare una funzione, seguito dal nome e da parentesi tonde, che possono contenere parametri.
Come si utilizza una funzione?
Una volta definita, una funzione può essere richiamata nel programma in questo modo:
saluta()
Questa chiamata esegue tutte le istruzioni contenute nel corpo della funzione.
Come passare valori a una funzione
Le funzioni possono ricevere dei parametri, ovvero dei valori da utilizzare internamente. Ecco un esempio:
def saluta_utente(nome):
{
print("Ciao, " + nome + "!")
}
Per passare un parametro, basta indicarlo nella chiamata:
saluta_utente("Luca")
Quali tipi di argomenti possiamo usare?
Python consente diversi modi per passare gli argomenti alle funzioni:
- Argomenti posizionali: l’ordine è importante.
- Argomenti con nome (keyword arguments): specifichi il nome del parametro.
Esempio con argomenti con nome:
def descrizione_persona(nome, età):
{
print(nome + " ha " + str(età) + " anni.")
}
descrizione_persona(età=30, nome="Giulia")
Valori predefiniti per i parametri
È possibile assegnare un valore predefinito a un parametro. In questo modo, se l’argomento non viene fornito, la funzione utilizzerà il valore di default:
def saluta(nome="ospite"):
{
print("Benvenuto, " + nome + "!")
}
saluta()
saluta("Marco")
Liste come argomenti nelle funzioni
Le liste sono spesso utilizzate come argomenti per funzioni che devono elaborare più elementi:
def stampa_elementi(lista):
{
for elemento in lista:
{
print(elemento)
}
}
nomi = ["Anna", "Luca", "Giovanni"]
stampa_elementi(nomi)
Come restituire un valore da una funzione
Una funzione può restituire un risultato utilizzando la parola chiave return
:
def somma(a, b):
{
return a + b
}
risultato = somma(4, 5)
print(risultato)
In questo caso, somma
restituisce il valore 9, che viene poi stampato.
Capire la ricorsione in Python
Una funzione può anche chiamare se stessa. Questo concetto si chiama ricorsione ed è utile per risolvere problemi come il calcolo del fattoriale:
def fattoriale(n):
{
if n == 0:
{
return 1
}
else:
{
return n * fattoriale(n - 1)
}
}
print(fattoriale(5))
La funzione continua a chiamare se stessa finché raggiunge il caso base, ovvero quando n
è uguale a 0.