gpt4 book ai didi

python - 将字符串列表转换为函数调用

转载 作者:太空宇宙 更新时间:2023-11-03 13:37:30 26 4
gpt4 key购买 nike

我得到了以下形式的字符串列表:

['function1', 'function2']

我想将它们作为方法执行:

function1(myVar)
function2(myVar)

以编程方式。

“正确”的方法是什么?

最佳答案

如果您确实需要使用函数名(字符串),最安全的做法是保留允许的函数名到函数的映射,即:

allowed_functions = {
"function1": function1,
"function2": function2,
# etc
}

然后查找那个映射:

def applyfunc(funcname, *args, **kw):
func = allowed_func.get(funcname, None)
if func is None:
raise ValueError("func '%s' is not allowed" % funcname)
return func(*args, **kw)

这与 Nils Werner 使用 locals() 的解决方案非常相似,但方式更安全(并且更易于维护)。

否则,请记住 python 函数是对象(正如您从上面的示例中注意到的那样),因此如果您想要的只是一个函数列表,那么它会尽可能简单:

funcs = [function1, function2)
for func in funcs:
print func(myvar)

关于python - 将字符串列表转换为函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37273924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com