当我使用 exec() 调用 python 中的函数时出现错误 3
I have error when I use exec() to call functions in python 3
我有这个简单的功能:
def fu():
return "great"
我需要用字符串来调用它,
所以我尝试了这个:
print(exec("fu()"))
但我得到的输出是:
None
我该如何解决?
如评论所述,您不能将 exec
用于此目的。
但是 eval 会做你想做的,完整的文档 here:
>> eval('fu()')
"great"
Note that using eval is not the best practice.
根据您定义函数的位置,使用 globals
或 locals
可以更好地访问此函数,我认为最好使用此方法而不是 eval
:
>> globals()['fu']()
"great"
我有这个简单的功能:
def fu():
return "great"
我需要用字符串来调用它,
所以我尝试了这个:
print(exec("fu()"))
但我得到的输出是:
None
我该如何解决?
如评论所述,您不能将 exec
用于此目的。
但是 eval 会做你想做的,完整的文档 here:
>> eval('fu()')
"great"
Note that using eval is not the best practice.
根据您定义函数的位置,使用 globals
或 locals
可以更好地访问此函数,我认为最好使用此方法而不是 eval
:
>> globals()['fu']()
"great"