小编典典

有没有办法遍历并执行Python类中的所有功能?

python

我有

class Foo():
    function bar():
        pass

    function foobar():
        pass

而不是一个一个地执行每个功能,如下所示:

x = Foo()
x.bar()
x.foobar()

是否有内置的方法可以按类中的顺序遍历并执行每个函数?


阅读 118

收藏
2020-12-20

共1个答案

小编典典

不能。您可以访问Foo.__dict__,并依次调用每个值(对于不可调用的成员会捕获错误),但是顺序不会保留。

for callable in Foo.__dict__.values():
    try:
        callable()    
    except TypeError:
        pass

像您的示例一样,假设所有函数都没有参数。

2020-12-20