1. 程式人生 > >python中\r的意義及用法

python中\r的意義及用法

\r的意義

\r 表示將游標的位置回退到本行的開頭位置

 \b表示將游標的位置回退一位

 在python裡print會預設進行換行,可以通過修改引數讓其不換行

 

(1) python2中可以在print語句的末尾加上逗號,程式碼如下:

print "hello",
print "world"

執行結果

hello world

請按任意鍵繼續. . .

 

(2)在python3裡print是一個獨立函式,可以通過修改它的預設值來讓其不換行

def print(self, *args, sep='
', end='\n', file=None): # known special case of print """ print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints the values to a stream, or to sys.stdout by default. Optional keyword arguments: file: a file-like object (stream); defaults to the current sys.stdout. sep: string inserted between values, default a space. end: string appended after the last value, default a newline. flush: whether to forcibly flush the stream.
"""

將end引數改為其他的字元可以讓print不換行,來看程式碼

print("Dream", "it", "possible", sep="-",end="/")
print("Big big world")

執行結果如下:

Dream-it-possible/Big big world

Process finished with exit code 0

 

\r的應用

利用\r可以實現很多有趣的小功能

在命令列實現倒計時功能

1 # 顯示倒計時
2 import time
3 for i in range(10):
4     print
("\r離程式退出還剩%s秒" % (9-i), end="") 5 time.sleep(1)

 

執行結果如圖

 

命令列實現轉圈功能

1 import time
2 lst = ["\\", "|", "/", "———"]
3 for i in range(20):
4     j = i % 4
5     print("\r" + lst[j], end="")
6     time.sleep(0.2)

實現進度條功能

1 # 進度條功能
2 import time
3 
4 for i in range(10):
5     print("\r" + ""*i, sep="", end="")
6     time.sleep(0.2)
7 print("\n下載完成")

 執行效果如下

 

 

實現刪除效果功能

1 import time
2 s = "枝上柳綿吹又少,天涯何處無芳草"
3 l = len(s)
4 for i in range(l):
5     print("\r" + s[:l-1-i] + "|", end="")
6     time.sleep(0.15)

執行效果如圖