我正在执行这行代码-
print(eval("print(2 +3)"))
但这不是像5那样给出输出,而是给出输出-
5 None
tktrz96b1#
这是因为您在print()中提供了eval()。
eval("(2 +3)")
这将返回5,因为函数eval返回值5,并使用print()打印该值但是,
print(eval("(2 +3)"))
在eval()中,我们使用了print(),所以内部的print()打印值5,函数eval()返回None,因为它没有返回任何值,外部的print()打印None
vwkv1x7d2#
当你试图得到像eval("2")这样的函数的eval时,你实际上得到的是int类型。但试图计算print表达式时得到的是None类型。将执行Print,但eval("print(2+3)")的类型将为None。
eval("2")
eval("print(2+3)")
tv6aics13#
print()有时会在value之后打印一个None或None。对于不打印None需要使用定义功能。也许你的问题是来自海克兰。我今天有个问题。这就是我的答案。
def ev(expression): return eval(expression) ev(input())
3条答案
按热度按时间tktrz96b1#
这是因为您在print()中提供了eval()。
这将返回5,因为函数eval返回值5,并使用print()打印该值
但是,
在eval()中,我们使用了print(),所以内部的print()打印值5,函数eval()返回None,因为它没有返回任何值,外部的print()打印None
vwkv1x7d2#
当你试图得到像
eval("2")
这样的函数的eval时,你实际上得到的是int类型。但试图计算print表达式时得到的是None类型。将执行Print,但
eval("print(2+3)")
的类型将为None。tv6aics13#
print()有时会在value之后打印一个None或None。
对于不打印None需要使用定义功能。
也许你的问题是来自海克兰。
我今天有个问题。
这就是我的答案。