我试过了
eval('print("hello world")')
eval('return 0')
这两个都不正确。为什么它们无效,使用时我应该遵循哪些规则eval()
(除了尽可能少)?
在 Python 中,eval()
计算表达式(产生值的东西)。print
和都return
定义为语句(然而在 Python 3 中,print
实际上是一个函数调用,它是一个表达式)。在执行语句的情况下,您需要使用语句exec
来代替。
eval() 用于评估变量的值作为变量。
例子:
var="Hello World!"
code="var"
print eval(code)
输出应该是:
Hello World!