该
print()函数返回
None。您正在打印该返回值。
这是因为
print()没有什么 要 回报;
它的工作是将参数转换为字符串后,将其写入文件对象(默认为
sys.stdout)。但是Python中的所有表达式(包括调用)都产生一个值,因此在这种情况下
None就产生了。
您似乎将打印与返回此处混淆了。Python交互式解释器 也会 打印;如果不产生,它将打印直接在提示符下运行的表达式的结果
None:
>>> None>>> 'some value''some value'
该字符串已回显(打印)到您的终端,而
None并非如此。
由于
print()返回
None但写入相同的输出(您的终端),结果可能 看起来
相同,但是它们是非常不同的动作。我可以
print()写点其他东西,您在终端上什么也看不到:
>>> from io import StringIO>>> output = StringIO()>>> print('Hello world!', file=output)>>> output.getvalue()'Hello world!n'该
print()函数调用未在终端上产生输出,并返回了
None该输出,然后未回显。



