[Python] Lista delle funzioni presenti in un modulo

Marco Buttu mbuttu a oa-cagliari.inaf.it
Ven 29 Mar 2013 12:27:14 CET


On 03/28/2013 07:18 PM, Daniele Zambelli wrote:
> Grazie, è proprio quello che mi serviva... getattr continua a rimanere 
> un lato oscuro di Python per me.

Ciao Daniele, l'utilizzo di getattr() e' molto semplice. Se hai un oggetto e
vuoi ottenere un suo attributo, solitamente usi la sintassi con il 
delimitatore
punto:

 >>> import sys
 >>> sys.version # Uso il delimitatore punto
'3.3.0 (default, Sep 29 2012, 17:14:58) \n[GCC 4.7.2]'

Nel tuo caso pero' non conoscevi gli attributi del modulo a priori, per 
cui a
runtime hai fatto in modo di costruire una lista contenente i loro nomi 
(stringhe),
e poi in qualche modo volevi ottenere gli attributi a partire dai nomi.
La funzione built-in getattr() svolge esattamente questo compito:

 >>> getattr(sys, 'version') # Restituisci l'attibuto di nome 'version' 
del modulo `sys`
'3.3.0 (default, Sep 29 2012, 17:14:58) \n[GCC 4.7.2]'

Ha restituito l'attributo `sys.version`:

 >>> getattr(sys, 'version') is sys.version
True

-- 
Marco Buttu

INAF Osservatorio Astronomico di Cagliari
Loc. Poggio dei Pini, Strada 54 - 09012 Capoterra (CA) - Italy
Phone: +39 070 71180255
Email: mbuttu a oa-cagliari.inaf.it



Maggiori informazioni sulla lista Python