循环对象功能

时间:2016-09-15 16:44:09

标签: python python-2.7

dir(object)返回对象属性和函数的列表。如何迭代所有可调用函数并获取函数的输出? (假设没有功能ARGS)

for a in dir(obj) if not a.startswith('__') and callable(getattr(obj,a)):
    response = obj.a()

这不起作用,因为python将a视为属性名称。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

你需要使用getattr来实际获取callable,然后调用它......

这样做

var2

不是这个

fn = getattr(obj,a)
fn()

粗略的你没有检查可调用是否有任何必需的参数或类似的东西......我不确定你实际上想要完成什么...但我怀疑这是正确的技术

另外,此行obj.a()

还需要一个)