Sla*_*ugz 2 python python-3.x read-eval-print-loop nonetype
使用 Python(通过 cmd)并在其中写入以下内容时:
>>> import random
>>> print("hello"),print("world"),print(random.randint(5,10))
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
hello
world
8
(None, None, None)
Run Code Online (Sandbox Code Playgroud)
现在我不确定为什么解释器返回 的None元组,而不是单个None。
Python 将第二个输入行中的 解释,为创建一个元组,其返回值print均为None。每个打印语句只需一行。这是此行为的另一个示例:
>>> 5,4,3
回报
(5, 4, 3)
[更新以解决您的评论]
因为 python 的解释a,b,c是tuple(a,b,c),所以print(),print(),print()相当于tuple(print(),print(),print())。如果你一行一行地执行,则tuple不会创建并且 python 只是执行该print()语句。现在真正让你感到困惑的一点来了。调用print()也将返回None,但这会自动隐藏,因为这是正常行为。然而 s的元组None不会自动隐藏,因为它不是None。
| 归档时间: |
|
| 查看次数: |
130 次 |
| 最近记录: |