Python 在循环中调用列表中的每个方法?

Python 在循环中调用列表中的每个方法?,python,python-2.7,Python,Python 2.7,以下是我想做的,但不确定是否有办法做到这一点: methods = [__add__, __sub__, __mul__] a = 3 b = 4 for m in methods: print a.m(b) from operator import add, mul, sub ops = [add, sub, mul] a = 3 b = 4 for op in ops: print op(a, b) 结果应该是: 7 -1 12 对于任何大小的列表,我将如何实

以下是我想做的,但不确定是否有办法做到这一点:

methods = [__add__, __sub__, __mul__]

a = 3
b = 4

for m in methods:
    print a.m(b)
from operator import add, mul, sub

ops = [add, sub, mul]

a = 3
b = 4

for op in ops:
    print op(a, b)
结果应该是:

7
-1
12

对于任何大小的列表,我将如何实现这一点?在Python中,这被称为什么?

要准确执行您在那里尝试执行的操作,您需要使用:

但是,至少对于这个特定示例,最好这样做:

methods = [__add__, __sub__, __mul__]

a = 3
b = 4

for m in methods:
    print a.m(b)
from operator import add, mul, sub

ops = [add, sub, mul]

a = 3
b = 4

for op in ops:
    print op(a, b)
您可以使用按名称调用方法: