ePrometeusCorsoLinuxLinux
testi articoli
Testi Articoli  Download
Home | Espressioni | Comandi | Funzioni | Moduli | Classi | 
CorsoJava è ora Video! Free for all!
Clicca Qui!
Corso Python
Python: le funzioni
Funzioni
Passaggio Parametri
Parametri
argomenti "modello"
unpacking di parametri
Lambda
Ordinamento


<<< unpacking di parametri >>>

Abbiamo visto come passare una lista di parametri in una tupla o in un hash. Questo tecnica è un "impacchettamento" di parametri in una struttura dati comoda da manipolare. È comunque possibile fare il contrario: ovvero disimpaccare una tupla o lista in un elenco di parametri.

Prendiamo questo caso:

>>> arg = [3,6]

Così come sono non posso passarli come argomento:

>>> range(arg)
Traceback (most recent call last):
  File "<input>", line 1, in ?
TypeError: an integer is required

Infatti la funzione range vuole due argomenti, non una lista o tupla.

Se in una chiamata precedo la sequenza con "*", ottengo che gli elementi della lista vengono mutati in argomenti per la chiamata:

>>> range(*arg)
[3, 4, 5]

Un meccanismo analogo funziona pure per le tabelle hash e gli argomenti passati per nome, utilizzando "**".

Il meccanismo si può vedere facilmente dal seguente esempio:

>>> def g(x,y,z):
... 	(x*y)+z
... 	
>>> h = { 'x': 7 , 'y': 2, 'z': 5 }
>>> g(**h)
19
ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com