4

我试过了

eval('print("hello world")')
eval('return 0')

这两个都不正确。为什么它们无效,使用时我应该遵循哪些规则eval()(除了尽可能少)?

4

2 回答 2

8

在 Python 中,eval()计算表达式(产生值的东西)。print和都return定义为语句(然而在 Python 3 中,print实际上是一个函数调用,它是一个表达式)。在执行语句的情况下,您需要使用语句exec代替。

于 2012-12-13T01:09:16.907 回答
0

eval() 用于评估变量的值作为变量。

例子:

var="Hello World!"
code="var"
print eval(code)

输出应该是:

Hello World!
于 2012-12-13T05:52:53.987 回答