举例说明print flush的作用
时间: 2023-07-29 17:12:45 浏览: 59
在Python 2.x 版本中,`print`函数有一个名为 `flush` 的可选参数,于控制输出的缓冲行为。在 3.x 版本中,`print` 函数默认是自动刷新的,因此不再需要 `flush` 参数。
在 Python 2.x 中,`print` 函数默认会将输出存储在内存缓冲区中,然后在遇到换行符或显式调用 `flush` 方法时才将其输出到屏幕。这样做是为了提高效率,因为将多次输出操作合并成一次输出可以减少 I/O 开销。
然而,在某些情况下,你可能需要立即将输出显示在屏幕上,而不是等待缓冲区填满或遇到换行符。这时可以使用 `print` 函数的 `flush` 参数。
下面是一个示例:
```python
import time
print("Hello", flush=True)
time.sleep(2) # 模拟其他处理耗时操作
print("World")
```
在上面的示例中,我们使用 `print` 函数打印了 "Hello" 并设置了 `flush=True`。这将强制将 "Hello" 立即显示在屏幕上,而不是等待换行符或缓冲区填满。接着,我们使用 `time.sleep(2)` 模拟了一个耗时操作。最后,我们打印了 "World"。由于默认情况下 `print` 函数会自动刷新缓冲区,所以 "World" 也会立即显示在屏幕上。
需要注意的是,在 Python 3.x 版本中,`print` 函数默认是自动刷新的,因此不再需要使用 `flush` 参数。上述示例在 Python 3.x 中将会有相同的效果,即所有的输出会立即显示在屏幕上。