[Python] *args vs. [1,2,3]
Antonello Mangone
antonello.mangone a gmail.com
Lun 16 Mar 2009 15:35:23 CET
prova a passare:
test(a, junk=True )
Il giorno 16 marzo 2009 15.30, Alessandro Dentella <sandro a e-den.it> ha
scritto:
> 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
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML č stato rimosso...
URL: http://lists.python.it/pipermail/python/attachments/20090316/e7bc301d/attachment.htm
Maggiori informazioni sulla lista
Python