小编Des*_*ond的帖子

Python:将函数名称作为函数中的参数传递

我试图将函数的名称作为参数传递给另一个函数,但我得到一个错误:"TypeError:'str'对象不可调用".以下是该问题的简化示例:

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
Run Code Online (Sandbox Code Playgroud)

我打电话的时候是这样的:

var = 'dork1'
ned = doIt(3, var, 4, 9)
print (ned)
Run Code Online (Sandbox Code Playgroud)

我明白了:

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 = …
Run Code Online (Sandbox Code Playgroud)

python

20
推荐指数
3
解决办法
4万
查看次数

标签 统计

python ×1