iterate over class variables
Peter Hansen
peter at engcorp.com
Thu Nov 10 07:33:34 EST 2005
Yves Glodt wrote:
> I need to iterate over a class and get all her variable names and
> values, e.g. considering this example:
>
> class testclass:
> var1 = 'ab'
> var2 = 'cd'
> var3 = 'ef'
Is the following of any help to you?
>>> class testclass:
... a = 'a'
...
>>> dir(testclass)
['__doc__', '__module__', 'a']
>>> testclass.__dict__
{'a': 'a', '__module__': '__main__', '__doc__': None}
>>> import inspect
>>> inspect.classify_class_attrs(testclass)
[('__doc__', 'data', <class __main__.testclass at 0x00AFBE70>, None),
('__module
__', 'data', <class __main__.testclass at 0x00AFBE70>, '__main__'),
('a', 'data'
, <class __main__.testclass at 0x00AFBE70>, 'a')]
There are other methods in "inspect" which could help you.
-Peter
More information about the Python-list
mailing list