为什么在使用eval函数时在第二行的输出中得到None



我正在执行这行代码-

print(eval("print(2 +3)"))

但这并没有像5那样给出输出——

5
None

这是因为您在print((中给出了eval((。

eval("(2 +3)")

这将返回5,因为函数eval返回使用print((打印的值5

但是,

print(eval("(2 +3)"))

在eval((中,您使用了print((。因此,内部print((打印值5,函数eval((返回None,因为它没有任何可返回的内容。无被外部打印((打印

当您试图获得类似eval("2")你实际上会得到类型int。

但尝试评估打印表达式会得到None类型。将执行打印,但类型为eval("print(2+3)")将为"无"。

最新更新