【发布时间】:2019-03-28 13:25:18
【问题描述】:
如果我有一个类,我怎样才能得到这个类中定义的函数、方法和其他可调用对象的列表(所以没有从对象继承等等)?
我见过this question,但它需要我先获取完整的属性列表,然后为每个可调用类调用此方法并进行比较。
有没有更简单的解决方案?
【问题讨论】:
标签: python python-3.x python-3.6 metaprogramming
如果我有一个类,我怎样才能得到这个类中定义的函数、方法和其他可调用对象的列表(所以没有从对象继承等等)?
我见过this question,但它需要我先获取完整的属性列表,然后为每个可调用类调用此方法并进行比较。
有没有更简单的解决方案?
【问题讨论】:
标签: python python-3.x python-3.6 metaprogramming
特殊属性__dict__ 包含一个类中定义的所有成员属性。对于类定义了__slots__ 属性的对象,它可能不存在,但我从未见过定义它的元类(类对象的类)。
然后您可以使用inspect.isfunction 来了解可调用属性的位置。
【讨论】:
如上述答案中所述,您可以使用dir(yourClass),也可以使用help(yourClass)。
【讨论】: