Iniziare a programmare in Python significa anche comprendere come usare in modo efficace le funzioni e i parametri. Questi strumenti permettono di strutturare il codice in modo più pulito, riutilizzabile e leggibile. In questa guida ti accompagnerò passo dopo passo per chiarire ogni aspetto, con esempi semplici ma pratici.
Come si definisce una funzione in Python
Per creare una funzione in Python si utilizza la parola chiave def
. Ecco un esempio:
def Saluta():
print("Ciao, benvenuto su Gedemy!")
Una volta definita, puoi chiamare la funzione semplicemente così: Saluta()
.
Esploriamo i diversi tipi di parametri
Una funzione può accettare dei parametri, ovvero delle informazioni esterne che vengono utilizzate al suo interno. Vediamo le principali categorie.
1. Parametri posizionali: l’ordine conta
Questi parametri sono passati in ordine e devono essere rispettati durante la chiamata della funzione:
def Presenta(nome, età):
{
print(f"Mi chiamo {nome} e ho {età} anni.")
}
Chiamando Presenta("Luca", 30)
otterrai il risultato corretto. Invertendoli, cambierà il significato.
2. Parametri con nome (keyword arguments): chiarezza prima di tutto
Puoi indicare il nome del parametro durante la chiamata. Questo rende il codice più leggibile:
Presenta(età=30, nome="Luca")
In questo caso l’ordine non è importante, ma i nomi sì.
3. Parametri con valori predefiniti: versatilità
Puoi assegnare un valore di default a un parametro:
def Presenta(nome, età=18):
{
print(f"{nome} ha {età} anni.")
}
Chiamando Presenta("Anna")
, l’età sarà automaticamente 18.
4. Parametri variabili: *args e **kwargs
Quando non conosci a priori il numero di parametri, puoi usare:
def Somma(*numeri):
{
print(sum(numeri))
}
*args
raccoglie i parametri in una tupla. E per i parametri con nome?
def MostraInfo(**dati):
{
for chiave, valore in dati.items():
{
print(f"{chiave}: {valore}")
}
}
**kwargs
funziona come un dizionario, utile per parametri opzionali e dinamici.
Output:
Utilizzando queste tecniche puoi creare funzioni flessibili e robuste, adattabili a molte situazioni reali.
Ordine dei parametri: segui una logica
Python richiede un ordine specifico: prima i parametri posizionali, poi quelli con valori predefiniti, seguiti da *args
e infine **kwargs
.
def Esempio(a, b=2, *args, **kwargs):
{
pass
}
Output:
Se rispetti questo ordine, eviterai errori e avrai un codice più ordinato.
Usare funzioni come parametri: potenza funzionale
In Python puoi passare anche funzioni come parametri ad altre funzioni:
def EseguiFunzione(funz):
{
funz()
}
def Saluto():
{
print("Ciao!")
}
EseguiFunzione(Saluto)
Questa pratica è molto usata, ad esempio, nel paradigma funzionale e nel design dei callback.
Annotazioni dei parametri: rendi il codice più chiaro
Python supporta le type hints, ovvero le annotazioni sui tipi di parametri e valori restituiti:
def Somma(a: int, b: int) -> int:
{
return a + b
}
Queste annotazioni non sono obbligatorie, ma migliorano la leggibilità e l’integrazione con strumenti come linters o IDE avanzati.