关于字符串:在Python3中使用exec()调用函数时出错

I have error when I use exec() to call functions in python 3

本问题已经有最佳答案,请猛点这里访问。

我有一个简单的功能:

1
2
def fu():
    return"great"

我需要用一根绳子来称呼它,

所以我试了一下:

1
print(exec("fu()"))

但我得到的结果是:

1
None

我该怎么修?


正如评论中所说,您不能将exec用于此目的。但是Eval会做你想做的,这里是完整的医生:

1
2
>> eval('fu()')
"great"

Note that using eval is not the best practice.

根据您定义函数的位置,使用globalslocals访问此函数有更好的方法,我认为最好使用它而不是eval

1
2
>> globals()['fu']()
"great"