Python 循环对象函数
Python 循环对象函数,python,python-2.7,Python,Python 2.7,dir(object)返回对象属性和函数的列表。如何迭代所有可调用函数并获得函数的输出?(假设没有函数参数) 这不起作用,因为python将a视为属性名。有什么方法可以做到这一点吗?您需要使用getattr来实际获取可调用的,然后调用它 这样做 fn = getattr(obj,a) fn() 不是这个 obj.a() 当然,您没有检查可调用函数是否有任何必需的参数或类似的内容。。。我不确定你到底想完成什么。。。但我怀疑这是正确的技术 此外,您还需要在这一行中添加一个)可调用(getattr
dir(object)
返回对象属性和函数的列表。如何迭代所有可调用函数并获得函数的输出?(假设没有函数参数)
这不起作用,因为python将a视为属性名。有什么方法可以做到这一点吗?您需要使用getattr来实际获取可调用的,然后调用它 这样做
fn = getattr(obj,a)
fn()
不是这个
obj.a()
当然,您没有检查可调用函数是否有任何必需的参数或类似的内容。。。我不确定你到底想完成什么。。。但我怀疑这是正确的技术
此外,您还需要在这一行中添加一个
)
可调用(getattr(obj,a):这将引发语法错误。我有一个对象。它是一个post-request-werkzeug对象。我想迭代所有属性。我认为所有函数都不接受参数,只返回值,例如obj.get\u-stream\u-data()只有许多属性和函数。我知道如何访问所有属性,但一旦可调用项被别名为变量(如for a in…)后,我不知道如何访问它们。一旦可调用项被称为a
,我就不知道如何再执行它了。更糟糕的是,我正在访问我的请求对象作为一个孩子的另一个对象。这怎么不解决你的问题?或这是解决你的问题?我会马上回来,要么更多的问题,澄清或复选标记!谢谢你的帮助。真的很感激。每个人都讨厌这个问题。我试图重写它。虽然我知道这不是一个正常的做法,但我会在某些情况下,您可能希望迭代函数并获得输出。是否有其他方法可以让它不那么令人讨厌?
obj.a()