[Python] asterisco

Eriol eriol a mornie.org
Lun 15 Gen 2007 16:45:08 CET


On Monday 15 January 2007 15:58, giuseppe massimo bertani wrote:
> ------------------
>     rel_list = [os.pardir] * (len(base_list)-i) + target_list[i:]
>     return os.path.join(*rel_list)
> -----------------
>
> mentre riesco a capire la prima riga, mi sfugge proprio il significato
> di 
>         *rel_list
>
> che funzione ha l'asterisco in questo caso?

Quella di passare la sequenza rel_list alla funzione. Esempio:

>>> def foo(x, y, z):
...   print x, y, z
...
>>> foo(1, 2, 3)
1 2 3
>>> args = (1, 2, 3)
>>> foo(*args)
1 2 3

Lo stesso meccanismo si puo` applicare coi dizionari:
>>> kargs = {'x':1, 'y':2, 'z':3}
>>> foo(**kargs)
1 2 3

Scusa la brevita` ma vado di fretta :)

Spero sia di aiuto!

Saluti!

-- 
 Eriol - *p = NULL; - EIBTI
 GPG Key ID 0B7C8A19
 http://blog.mornie.org


Maggiori informazioni sulla lista Python