我正在使用Python 2.x,我有一个我正在从以太召唤的对象; 关于它的文件不是特别清楚.我希望能够获得该对象的属性列表以及每个属性的类型.
同样,我想获得该对象的方法列表,以及我可以在该方法上找到的任何其他信息,例如参数的数量和它们各自的类型.
我有一种感觉,我只是在Google搜索中错过了正确的术语.并不是说我想破坏具体细节,但它是Active Directory,所以这总是很有趣.
嗯......你的第一站将是一个简单的目录(对象).这将显示所有对象的成员,包括字段和方法.在交互式Python shell中试一试,然后玩一下.
例如:
> class Foo: def __init__(self): self.a = "bar" self.b = 4711 > a=Foo() > dir(a) ['__doc__', '__init__', '__module__', 'a', 'b']
怎么样的:
>>> o=object() >>> [(a,type(o.__getattribute__(a))) for a in dir(o)] [('__class__',), ('__delattr__', ), ('__doc__', ), ('__format__', ), ('__getattribute__', ), ('__hash__', ), ('__init__', ), ('__new__', ), ('__reduce__', ), ('__reduce_ex__', ), ('__repr__', ), ('__setattr__', ), ('__sizeof__', ), ('__str__', ), ('__subclasshook__', )] >>>
更结构化的方法是使用inspect模块:
inspect模块提供了几个有用的函数来帮助获取有关活动对象的信息,例如模块,类,方法,函数,回溯,框架对象和代码对象.例如,它可以帮助您检查类的内容,检索方法的源代码,提取和格式化函数的参数列表,或获取显示详细回溯所需的所有信息.
" Python内省指南 "是一篇很好的文章,可以帮助您入门.