python通过字符串定义函数名
记录python里的一个有意思的小技巧:通过字符串定义函数名称。
import sys
m=sys.modules[__name__]
def temp(x):
return x+1
setattr(m, 'foo1', temp)
def temp(x):
return x+2
setattr(m, 'foo2', temp)
可以直接调用函数foo1和foo2:
assert foo1(1)==2
assert foo2(1)==3