[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