import time
def print_slow(str):
for letter in str:
print(letter, end='', flush=True)
time.sleep(0.1)
print_slow("这是一个打印机效果的例子!")
当Python使用print()
函数输出内容时,默认会在每行输出结束后自动换行。而在模拟打印机效果的场景中,我们希望逐个字符地输出,因此不能在每个字符后自动换行。
为了实现这个功能,我们需要通过print()
函数的end
参数来控制输出末尾的字符。默认情况下,end
参数的值是'\n'
,即输出后自动换行。如果我们将end
参数的值设置为空字符串''
,那么输出末尾就不会有额外字符,从而实现逐个字符输出的效果。
另外,由于默认情况下,输出内容会首先被缓存到内存中,在达到一定量或程序结束时才会输出到终端。如果不想等待缓存满或程序结束,可以使用flush
参数强制刷新缓存,立即输出内容。