Python print后的尾随逗号执行下一条指令

2024-04-29 05:08:52 发布

您现在位置:Python中文网/ 问答频道 /正文

如果在print语句的末尾添加了逗号,则首先执行下一个语句。这是为什么?例如,它在打印"Hi "之前执行10000 ** 10000

print "Hi",
print 10000 ** 10000

在打印“Hi Hello”之前需要一段时间:

def sayHello():
    for i in [0] * 100000000: pass
    print "Hello"
print "Hi",
sayHello()

Tags: inhellofordefpass语句hisayhello
3条回答

你看到了stdout缓冲的效果:Disable output buffering

  1. 在Python 2.x中,print语句中的尾随,防止发出新行。

    • 在Python 3.x中,使用print("Hi", end="")来实现相同的效果。
  2. 标准输出是行缓冲的。所以"Hi"不会在发出新行之前打印出来。

正如其他人提到的,标准输出是缓冲的。您可以在需要显示输出的点尝试使用此选项:

sys.stdout.flush()

相关问题 更多 >