**>>>a=2
>>>b=5
>>>print(a,b)
2 5
>>>print(a),(b)
2
(None, 5)**
有人能帮助我理解为什么第二个打印语句返回(None,5)吗?我是新手,如果这是一个愚蠢的问题,很抱歉。
谢谢。
这里有三个相关事实。
-
print
函数不返回任何值。从技术上讲,它返回none。它的用处完全在于它的副作用——打印到控制台。 -
如果行返回
None
,命令行解释器(您使用">>>>"得到的)不打印任何内容。因此,对于print(a,b)
,您可以看到print
函数的效果,但是print
函数(None
)的返回值被抑制了。 -
逗号用于创建元组。第三条语句创建了一个双元素元组。第一个元素是
print
的返回值,即None
。第二个元素是值5,来自名称b
。因此,在控制台上,您可以看到print
函数的效果(打印a
,即2
)。然后,您将看到命令行解释器显示语句的最终结果,即元组(None, 5)
。
(实际上,"print
是一个函数而不是一个语句"也是一个相关的事实…)