将字符串转换为python中的函数名称

时间:2020-08-28 11:59:51

标签: python python-3.x

我有很多具有相同前缀的功能。我想使用字符串组合来调用该函数。

def func_plus_one(v):
    return v+1

def func_plus_two(v):
    return v+2

a='plus_one'
b='plus_two'

那么如何使用'func_'+a'func_'+b来使用该功能?

1 个答案:

答案 0 :(得分:2)

如果功能与需要引用它们的代码位于同一模块中,请使用模块的globals()。您可以使用以下命令来调用a所指示的函数:

globals()['func_' + a](x)

如果它们在另一个模块中,请使用getattr

getattr(some_module, func_' + a)(x)