Вы используете встроенный Python, dir () или vars ():
вары (объект)
Примеры использования dir () см. В этом посте
Примеры использования vars:
>>> class X:
... a=1
... def __init__(self):
... b=2
...
>>>
>>> vars(X)
{'a': 1, '__module__': '__main__', '__doc__': None, '__init__': <function __init__ at 0x100488848>}
>>>
>>> vars(X())
{}
Потенциально проблемный факт: новые классы стилей не возвращают тот же результат
>>> class X(object):
... a=1
... def __init__(self):
... b=2
...
>>>
>>> vars(X)
<dictproxy object at 0x1004a1910>
>>> vars(X())
{}
Также: для экземпляра класса (нового и старого стиля), если вы добавите переменную после создания экземпляра, vars вернет dict объекта следующим образом:
>>> x = X()
>>> x.c = 1
>>> vars(x)
{'c': 1}
>>>
См .: http://docs.python.org/library/functions.html#vars