[Python] *args vs. [1,2,3]
Alessandro Dentella
sandro a e-den.it
Lun 16 Mar 2009 15:30:03 CET
Ciao,
ogni tanto scoprio mio malgrado cose elementari che non capisco...
ero convinto che nel passare argomenti ad una funzione, usare *list fosse
equivalente a passare i singoli componenti (ed analogamente per i
dizionari) ma vedo che non č cosė.
def test(*args, **kw):
pass
a = [1,2,3]
test(1,2,3, junk=True ) # funziona
test(*a, junk=True ) # solleva syntax error
Quale dovrebbe essere la corretta sintassi della seconda versione?
Devo necessariamente usare qualcosa come:
test(*a, **{'junk' :True} ) # funziona
Avevo sempre interpretato **kw come: raccogli tutti i keyword args nel
dizionario kw, ma se fosse cosė avrebbe dovuto funzionare anche nella riga
sopra (junk=True)
chiedo lumi...
grazie
sandro
Maggiori informazioni sulla lista
Python