为什么在使用 eval 函数时在第二行的输出中得到 None?
Why do I get None in output in second line while using eval function?
我正在执行这行代码 -
print(eval("print(2 +3)"))
但这不是将输出作为 5 给出输出 -
5
None
当你尝试对类似的东西进行评估时
eval("2")
您实际上将获得类型 int。
但是尝试评估打印表达式会给您 None 类型。将执行打印,但类型
eval("print(2+3)")
将是 None.
这是因为您在 print() 中给出了 eval()。
eval("(2 +3)")
这将 return 5 作为函数 eval returns 使用 print()
打印的值 5
但是,
print(eval("(2 +3)"))
在 eval() 中,您使用了 print()。所以内部 print() 打印值 5 和函数 eval() returns None 因为它与 return 没有任何关系。 None 由外部 print()
打印
我正在执行这行代码 -
print(eval("print(2 +3)"))
但这不是将输出作为 5 给出输出 -
5
None
当你尝试对类似的东西进行评估时
eval("2")
您实际上将获得类型 int。
但是尝试评估打印表达式会给您 None 类型。将执行打印,但类型
eval("print(2+3)")
将是 None.
这是因为您在 print() 中给出了 eval()。
eval("(2 +3)")
这将 return 5 作为函数 eval returns 使用 print()
打印的值 5但是,
print(eval("(2 +3)"))
在 eval() 中,您使用了 print()。所以内部 print() 打印值 5 和函数 eval() returns None 因为它与 return 没有任何关系。 None 由外部 print()
打印