为何执行print("hello", print("world"))后输出中‘world’后会出现‘None’?
为什么
print("hello", print("world"))会输出"world"后跟着"None"? - Python会先计算外层
print的所有参数,所以第一步会执行内层的print("world"),这一步直接在控制台输出"world"。 - Python里所有没显式写
return语句的函数,默认都会返回None,print函数就是如此——它的作用是把内容输出到控制台,但本身不会返回有实际意义的值,调用它的结果就是得到None。 - 内层
print执行完毕后,它返回的None会作为外层print的第二个参数,所以外层print会把"hello"和None这两个参数一起打印出来,最终控制台就会先显示"world",接着显示"hello None"。
可以用这段代码直观验证:
result = print("world") print("hello", result)
运行后和你写的代码输出完全一致,result的值就是None。
内容的提问来源于stack exchange,提问作者Yashas M B
相关产品推荐
相关产品推荐

