【问题标题】:Get list of callables defined in class获取类中定义的可调用对象列表
【发布时间】:2019-03-28 13:25:18
【问题描述】:

如果我有一个类,我怎样才能得到这个类中定义的函数、方法和其他可调用对象的列表(所以没有从对象继承等等)?

我见过this question,但它需要我先获取完整的属性列表,然后为每个可调用类调用此方法并进行比较。

有没有更简单的解决方案?

【问题讨论】:

    标签: python python-3.x python-3.6 metaprogramming


    【解决方案1】:

    特殊属性__dict__ 包含一个类中定义的所有成员属性。对于类定义了__slots__ 属性的对象,它可能不存在,但我从未见过定义它的元类(类对象的类)。

    然后您可以使用inspect.isfunction 来了解可调用属性的位置。

    【讨论】:

      【解决方案2】:

      如上述答案中所述,您可以使用dir(yourClass),也可以使用help(yourClass)

      【讨论】:

      • 它将返回所有可调用对象,而不仅仅是类本身中定义的那些对象
      猜你喜欢
      • 1970-01-01
      • 2021-02-16
      • 1970-01-01
      • 1970-01-01
      • 2022-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多