我正在执行这行代码-
print(eval("print(2 +3)"))
但这不是像 5 那样给出输出而是给出输出-
5
None
这是因为你在 print() 中给出了 eval()。
eval("(2 +3)")
这将返回 5,因为函数 eval 返回值 5,该值使用 print() 打印出来
但是,
print(eval("print(2 +3)"))
在 eval() 中,您使用了 print()。因此,内部 print() 打印值 5,而函数 eval() 返回 None,因为它没有任何可返回的内容。 None 被外部 print() 打印出来
当你尝试评估类似的东西时
eval("2")
你实际上会得到 int 类型。
但是尝试计算 print 表达式会给你 None 类型。将执行打印,但类型为
eval("print(2+3)")
将没有。