这是我想做的,但不确定是否有办法做到这一点:
7
-1
12
结果应为:
{{1}}
我如何为任何大小的列表完成此操作,以及在Python中调用的是什么?
答案 0 :(得分:5)
要完全按照您要执行的操作,您需要使用getattr
:
methods = ['__add__', '__sub__', '__mul__']
a = 3
b = 4
for m in methods:
print getattr(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)
答案 1 :(得分:3)
您可以使用getattr
按名称调用方法:
methods = ['__add__', '__sub__', '__mul__']
a = 3
b = 4
for m in methods:
print getattr(a, m)(b)