如何在Python2中使用eval inside exec

如何在Python2中使用eval inside exec,python,exec,eval,Python,Exec,Eval,在我了解了这两个函数之后。我一直想知道如何在exec函数中使用eval。我以教学的方式问这个问题 我在控制台中尝试了这个和其他变体,但没有成功: exec "eval("1+1")" 您正在使用双引号来包围正在执行的表达式及其参数,这会混淆解析器;您可以转义内部语句,也可以使用单引号。法律语法应该是execeval'1+1',但这是毫无意义的,exec用于语句 In [25]: exec("eval('1+1')") In [26]: exec("print(1+1)") 2 In [27]

在我了解了这两个函数之后。我一直想知道如何在exec函数中使用eval。我以教学的方式问这个问题

我在控制台中尝试了这个和其他变体,但没有成功:

exec "eval("1+1")"

您正在使用双引号来包围正在执行的表达式及其参数,这会混淆解析器;您可以转义内部语句,也可以使用单引号。

法律语法应该是execeval'1+1',但这是毫无意义的,exec用于语句

In [25]: exec("eval('1+1')")

In [26]: exec("print(1+1)")
2
In [27]: exec("a = eval('1+1')")
In [28]: a
Out[28]: 2