python中的\r(IDLE)

关于\r的问题,在此写一个博客,以后也提醒下自己。


python中\r是回车符return,使光标回到这行行首

因为python中的\n自动携带换行功能,所以你不用特意地为了换行而写\n,而是要为了不换行而在输出的时候特意加一句end="",""中敲几个空格各个输出之间就相隔几个空格。

比如我在IDLE中写两个小程序,它们两个就相差一个\r的差距:

#time1.py
import time
for i in range(101):
    print("{:3}%".format(i),end="")
    time.sleep(0.1)

#time2.py
import time
for i in range(101):
    print("\r{:3}%".format(i),end="")
    time.sleep(0.1)


但是我们却发现,在IDLE中按F5运行两个程序,结果完全一样



不是说\r是回车吗,为什么两个输出一样呢??

原来IDLE是程序员编写程序时的开发环境,并不是程序运行的环境,它为了保证参数的运行效果,自动将\r给屏蔽掉了。

扫描二维码关注公众号,回复: 148662 查看本文章

接下来我们在windows的DOS界面来分别运行两个程序



这样我们就可以看出两个程序的差别了

time1是老老实实从0%打到100%,而time2是从0%跳到100%。

所以我们以后可以将\r看成是一种覆盖式的写法,如果覆盖不完的话之前的就会剩下。




猜你喜欢

转载自blog.csdn.net/weixin_41656968/article/details/80017144