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.
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.
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))108.0
55.0Implementazione 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
Comprendere le variabili Python e i tipi di dati principali (stringhe, numeri interi, float, booleani). Una guida completa per principianti all'assegnazione della memoria in Python.
Classi Python e programmazione orientata agli oggettiUn'introduzione completa alle classi, agli oggetti, all'ereditarietà e ai concetti OOP di Python. Crea modelli di dati robusti e scala le tue applicazioni Python.
Risorse Python consigliate
Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.
Come utilizzare le funzioni Lambda in Python
Scopri come utilizzare le funzioni lambda in Python. Padroneggia funzioni anonime, callback in linea e dati di elenchi di ordinamento con chiavi lambda.
Foglio informativo sulle funzioni del modulo matematico Python
Guida di riferimento rapido per la libreria standard matematica di Python. Impara come utilizzare le funzioni trigonometriche, logaritmiche, di arrotondamento e aritmetiche.
Python vs JavaScript: quale linguaggio di programmazione è il migliore?
Un confronto completo tra Python e JavaScript. Esplora le differenze di sintassi, le prestazioni, i casi d'uso (backend e frontend) ed esempi di codifica.