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

posted @ 2020-11-13 11:41  zcsh  阅读(601)  评论(0编辑  收藏  举报