【发布时间】:2016-07-11 20:47:26
【问题描述】:
我有三个功能:
def function_1(arg_1, arg_1, arg_1, arg_1):
return sol_1
def function_2(arg_1, arg_2, arg_3, arg_4):
return sol_2
def function_3(arg_1, arg_2, arg_3, arg_4):
return sol_3
我想用一个字符串来称呼他们:
myString = 'function_2'
eval(myString)
但我无法将参数传递给 eval 函数以传递给自定义定义的function_2,因为它们不是同质的(np.array、float、float、int)。
【问题讨论】:
-
把它们做成变量
x=[1,2,3]; y=1.2; z = 1.3; q = 5,然后作为'function_2(x,y,z,q)传递 -
它们已经是这种格式,问题是如何将它们传递给您使用 eval 函数所说的'function_2(x,y,z,q) 形式。
-
这不行吗?
eval('function_2(x,y,z,q)')