time模塊是Python的內置模塊,直接導入即可使用:
import time
time庫包括三類函數:
- 時間獲取:time() ctime() gmtime()
- 時間格式化:strftime() strptime()
- 程序計時:sleep() perf_counter()
單行動態刷新:\r,在同一行輸出後退回到初始位置,重新輸出,製造刷新的feeling
注意:要在命令行(也叫控制檯、Windows的cmd)下才能使用(即雙擊保存的.py文件),IDLE屏蔽了’\r’的功能
import time
for i in range(101):
print("\r{:3}%".format(i),end='')
time.sleep(0.1)
format()方法的格式控制:
#打印奇數個星星居中顯示
n = eval(input())
for i in range(1,n+1,2):
print("{0:^{1}}".format("*"*i,n))
#四則運算
s = input()
print("{:.2f}".format(eval(s)))
#數字形式轉換
template = "零一二三四五六七八九"
s = input()
for c in s:
print(template[eval(c)], end="")
文本進度條完整版:
import time
scale = 50
print("執行開始".center(scale//2,"-"))
start = time.perf_counter()
for i in range(scale+1):
a = '*' * i
b = '.' * (scale-i)
c = (i/scale)*100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}-->{}]{:.2f}s".format(c,a,b,dur),end='')
time.sleep(0.1)
print() #換行
print("執行結束".center(scale//2,"-"))
(1) 文本進度條程序使用了 perf_counter() 計時,計時方法適合各類需要統間的算問題,例如:比較不同算法時間 、統計程序運行時;
(2) 進度條的單行回退要在命令行(也叫控制檯、Windows的cmd)下才能使用,IDLE屏蔽了’\r’的功能;
(3) 進度條可應用在:任何運行時間需要較長的程序中;任何希望提高用戶體驗的應中;進度條是人機交互的紐帶之一。