新欢 发表于 2020-7-12 07:57:03

print函数中的用法有的不会...

import time

print("---RUNOOB EXAMPLE : Loading 效果---")

print("Loading",end = '')
for i in range(20):
    print(".",end = '',flush = True)
    time.sleep(0.7)
-------------------------------------分割线-------------------------------------
import time

print("---RUNOOB EXAMPLE : Loading 效果---")

print("Loading",end = '')
for i in range(20):
    print(".",end = '')
    time.sleep(0.7)
这两行代码有什么区别吗,运行起来没什么区别啊

qiuyouzhi 发表于 2020-7-12 08:01:28

用命令行运行试试

Twilight6 发表于 2020-7-12 08:13:58




flush参数主要作用是刷新并清空缓存, 默认 print 函数中的 flush = False,不刷新

还有个 flush 函数,对文件对象使用,我们正常情况是对文件对象写入数据时候,未 close() 关闭文件时打开文件会发现

文件内容并没有被写入,实际上就是储存在了 Python 的缓存中,等待你 close() 关闭文件一次性写入

而当 flush = True 时它实时的 立即将文件内容写入到文件中去,写入后就自动清空缓存

而这里与 print 有什么关系呢?去查了下资料的解释都是:当因为某些条件原因使得 Python 内存里的数据不能立即打印显示在屏幕上时,就需要用 flush = True ,做到立即打印并清空缓存的效果

具体是什么情况我也不怎么明白,都是去网上查的

萌新不必在意这个参数,这个参数在入门阶段几乎不会用到,之后会不会我也不太情楚了,至少很少看见这个参数的使用

这里的两个代码效果应该并无差异,可能是因为没有满足触发 flush 参数的某个条件,所以这里的 flush 参数效果就不明显


页: [1]
查看完整版本: print函数中的用法有的不会...