我试图将一个函数的名称作为参数传递给另一个函数,但是出现了错误:TypeError: 'str' object is not callable
。以下是问题的简化示例:
def doIt(a, func, y, z):
result = z
result = func(a, y, result)
return result
def dork1(arg1, arg2, arg3):
thing = (arg1 + arg2) / arg3
return thing
def dork2(arg1, arg2, arg3):
thing = arg1 + (arg2 / arg3)
return thing
当我这样调用 doIt:
var = 'dork1'
ned = doIt(3, var, 4, 9)
print (ned)
我得到:
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
ned = doIt(3, var, 4, 9)
File "<pyshell#2>", line 3, in doIt
result = func(a, y, result)
TypeError: 'str' object is not callable