[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