dir(OldStyleClass)
不会返回OldStyleClass
的所有属性。在以下示例中,旧样式类的dir
实例不返回__class__
:
class OldStyleClass:
pass
old = OldStyleClass()
dir(old)
['__doc__', '__module__']
print old.__class__
__main__.OldStyleClass
help(dir)
也说"一些属性"被退回。有没有办法获取dir
未显示的对象属性列表?
答案 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__']