Class list of a module

Gabriel Genellina gagsl-py at
Mon Jan 15 09:06:25 CET 2007

At Monday 15/1/2007 04:27, you wrote:

>I want to get all classes of a module in a list. I wrote this code but I
>if there's not a simpler solution
>import inspect
>def getClassList(aModule):
>     return [getattr(aModule, attName) \
>             for attName in aModule.__dict__  \
>             if inspect.isclass(getattr(aModule, attName))]

Looks rather simple to me... Anyway, you could avoid calling getattr 
twice, if you iterate over vars(aModule).itervalues()

def getClassList(aModule):
     return [cls for cls in vars(aModule).itervalues()
                     if inspect.isclass(cls)]

(And note that there is no need for using \ at the line ends, because 
of the [])

Gabriel Genellina
Softlab SRL 


Preguntá. Respondé. Descubrí. 
Todo lo que querías saber, y lo que ni imaginabas, 
está en Yahoo! Respuestas (Beta). 
¡Probalo ya! 

More information about the Python-list mailing list