如何获取dir未返回的对象的属性列表

时间:2014-08-05 19:15:07

标签: python

dir(OldStyleClass)不会返回OldStyleClass的所有属性。在以下示例中,旧样式类的dir实例不返回__class__

class OldStyleClass:
    pass

old = OldStyleClass()
dir(old)
['__doc__', '__module__']
print  old.__class__
 __main__.OldStyleClass

help(dir)也说"一些属性"被退回。有没有办法获取dir未显示的对象属性列表?

1 个答案:

答案 0 :(得分:1)

你必须按照课程; __class__属性在类型上定义:

>>> type(OldStyleClass)
<type 'classobj'>
>>> dir(type(OldStyleClass))
['__call__', '__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']