Python的print语句后跟sleep(...)函数提供了意外的输出

时间:2019-09-01 09:14:41

标签: python python-3.x

这是我的Python 3代码:

from time import sleep
s='what is your name'
for x in s:
    print(x,end='')
    sleep(1)

我希望的是,每秒钟延迟一秒钟后,每个字母将被一一打印。但是,当我运行该程序时,它需要花费len(s)秒,然后输出s的值。 谁能向我解释实际情况。

1 个答案:

答案 0 :(得分:6)

flush函数使用print自变量:

print(x, end='', flush=True)

来自docs

  

是否缓冲输出通常由文件确定,但是如果   flush关键字参数为true,将强制刷新流。