Funzioni Python: guida definitiva ed esempi

Padroneggiare le funzioni Python. Scopri come scrivere codice riutilizzabile utilizzando def, definire argomenti, restituire valori e comprendere l'ambito a livello locale e globale.

Prova nell'editor

Panoramica

Una funzione è un blocco autonomo di codice organizzato e riutilizzabile progettato per eseguire una singola azione specifica. Man mano che i tuoi script Python crescono oltre poche righe, l'organizzazione del codice in funzioni diventa fondamentale. Le funzioni astraggono la complessità, rendendo il flusso del programma principale più facile da leggere e mantenere. Invece di ripetere la stessa logica in più punti, scrivi una funzione una volta e "chiamala" dove necessario.

Python fornisce numerose funzioni predefinite, come `print()`, `len()` e `type()`. Tuttavia, il vero potere della programmazione deriva dalla creazione di funzioni definite dall'utente. Incapsulando la logica, crei elementi costitutivi modulari che possono essere testati isolatamente e riutilizzati in diversi progetti o condivisi con un team.

Per definire una funzione in Python, si utilizza la parola chiave `def`, seguita da un nome descrittivo della funzione, parentesi `()` e due punti `:`. Qualsiasi codice rientrato al di sotto di questa definizione appartiene al blocco funzione. La funzione viene eseguita solo quando viene chiamata esplicitamente con il suo nome.

Le funzioni possono accettare dati tramite parametri (chiamati anche argomenti). Queste sono le variabili elencate tra parentesi della definizione della funzione. Puoi richiedere argomenti posizionali, che devono essere passati nell'ordine esatto, oppure utilizzare argomenti di parole chiave con valori predefiniti, consentendo chiamate di funzioni flessibili. Ad esempio, `def calcola_tax(price, rate=0.05):` consente al chiamante di omettere l'argomento `rate`, impostandolo automaticamente su 5%.

Infine, le funzioni in genere inviano i dati al chiamante utilizzando l'istruzione `return`. Quando viene eseguito un "return", la funzione termina immediatamente e restituisce il valore specificato. In Python, puoi anche restituire più valori separati da virgole, che Python raggruppa automaticamente in una tupla. Comprendere l'ambito della funzione, ovvero la regola secondo cui non è possibile accedere alle variabili create all'interno di una funzione dall'esterno, è fondamentale per prevenire mutazioni di stato soggette a bug.

Codice e output di esecuzione

Ecco una semplice funzione che calcola l'imposta applicata ad un prezzo, dimostrando parametri e valori restituiti.

functions_demo.py
Prova nell'editor
def calculate_total(price, tax_rate=0.08):
    """
    Calculates the final price after applying tax.
    """
    tax_amount = price * tax_rate
    total = price + tax_amount
    return total

print(calculate_total(100.00))
print(calculate_total(50.00, tax_rate=0.10))
Uscita terminale
108.0
55.0

Implementazione passo dopo passo

  • Incapsulare formule matematiche complesse
  • Separare la logica dell'interfaccia utente dalla logica aziendale di backend
  • Creazione di moduli di utilità per la collaborazione in team

Domande frequenti

Quali sono gli argomenti predefiniti?

Gli argomenti predefiniti sono valori che vengono utilizzati se non viene fornito alcun argomento durante la chiamata alla funzione.

Una funzione può restituire più valori?

Sì, Python consente alle funzioni di restituire più valori separandoli con virgole. Dietro le quinte, questo restituisce una tupla.

Argomenti correlati

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.