Python循环输出到控制台

Der*_*reh -3 python

为什么在交互式控制台打印输出中运行此代码?

>>> def a():
...   return 1
...
>>> for i in range(3):
...   a()
...
1
1
1
>>>
Run Code Online (Sandbox Code Playgroud)

我希望没有输出.这种行为记录在哪里?

Oli*_*çon 5

在交互模式下,如果不是,则打印任何表达式语句的结果None.正如文件中所述.

使用表达式语句(主要是交互式)来计算和写入值[...]

在交互模式下,如果值不是None,则使用内置repr()函数将其转换为字符串,并将结果字符串写入标准输出

例:

>>> 1 + 1
2
>>> a()
1
>>> None # This expression is not printed
>>>
Run Code Online (Sandbox Code Playgroud)

对于循环中的表达式语句也是如此.

>>> for i in range(3):
>>>     a()
1
1
1
Run Code Online (Sandbox Code Playgroud)

虽然,这是特定于交互式shell.如果您将代码作为脚本运行,则不会打印任何内容.