
Funzioni con spacchettamento di oggetti iterabili
In questa lezione ti spiego una tecnica di utilizzo delle funzioni in Python che ti permette di combinare lo spacchettamento degli oggetti iterabili con il matching dei parametri nelle funzioni.
Cosa serve sapere prima? Prima di addentrarti in questi concetti, è utile avere una conoscenza di base di Python, inclusa la comprensione di funzioni, liste, tuple, e cicli.
Cos'è lo spacchettamento?
Lo spacchettamento, noto anche come unpacking, permette di assegnare elementi di un oggetto iterabile (come una lista o una tupla) a variabili separate.
a, b, c = [1, 2, 3]
In questo caso "a" diventa 1, "b" diventa 2, e "c" diventa 3.
Puoi usare lo spacchettamento per passare una lista o una tupla a una funzione e spacchettare ogni elemento in un argomento separato.
Ecco un esempio pratico:
- def somma(a, b, c):
- return a + b + c
- numeri = [1, 2, 3]
- print(somma(*numeri))
La funzione riceve l'oggetto iterabile e lo spacchetta nei tre parametri a, b, c. Poi calcola la somma.
Il risultato in output è 6
6
Ricorda però che il numero degli elementi dell'oggetto iterabile deve essere uguale al numero dei parametri della funzione, altrimenti Python va in errore.
In alternativa, puoi utilizzare l'asterisco "*" per passare un numero di parametri variabili a una funzione variadica.
- def stampa_tutto(*args):
- for elemento in args:
- print(elemento)
- stampa_tutto(*[1, 2, 3, 4])
In questo caso l'oggetto iterabile può contenere un numero qualsiasi di elementi.
La funzione li riceve tutti e li memorizza nella tupla "arg".
Poi itera la tupla e stampa gli elementi.
1
2
3
4
In questo modo la gestione del numero dei parametri è più flessibile.
Spero che questa guida ti sia utile! Se hai bisogno di ulteriori dettagli o esempi, non esitare a chiedere.