python 漫談(一)相見恨晚的庫
阿新 • • 發佈:2018-05-19
在那 分享圖片 文本處理 執行時間 結果 性能 既然 panda Coding
(一)pypy和Cpython解釋器在性能上的比較
Cpython解釋器是從官網下載python自帶的解釋器,就是我們平常使用的解釋器。pypy解釋器的出現是為了在一定程度上提升python代碼運行的效率。據統計,pypy解釋器運行相同代碼的效率約為Cpython的6倍。
1. pypy的安裝測試
1 # 安裝 2 apt-get install pypy 3 # 測試 4 pypy
在命令行輸入pypy,進入類似python的界面
2. 性能對比
Talk is cheap, show my code. 用以下一段代碼一窺兩者執行效率上的差異。
1 import time 2 3 start = time.time()4 for i in range(10000*10000): 5 i +=1 6 end = time.time() 7 8 print(‘time used:%f‘%(end-start))
使用pypy解釋器運行十分簡單,只需在.py文件前加上pypy即可,以上代碼兩種解釋器的執行效果如下:
天差地別有木有!pypy執行時間之所以這麽短的原因在於用空間換取了時間,這裏不展開講了。
但是別高興的太早! pypy既然效率這麽高,為什麽沒流行起來呢?原因是pypy不像Cpython支持那麽多的庫,很多第三方庫例如pandas這樣的pypy是不支持滴。
所以,不想等得太久的小夥伴,要想用pypy,那就要做好用內建庫擼代碼的準備把!酷酷噠!
文本處理類的大批量計算推薦使用pypy!
(二)叠代/循環進度條
有些小夥伴不是不願意等的太久,而是想知道還要等多久。寫一個循環在那跑啊跑,不知道跑到哪了有木有很捉急。
下面上一款高逼格神器,一個第三方庫tqdm,專門為解決這個問題而生的。
1. 安裝
1 pip install tqdm
2. 使用
1 from tqdm import tqdm 2 import time 3 4 for i in tqdm(range(1000)): 5 time.sleep(0.01)
看下炫炫的效果
(三)sys.argv
1 #encoding:utf-8 2 3 importsys 4 5 print "腳本名:", sys.argv[0] 6 for i in range(1, len(sys.argv)): 7 print "參數", i, sys.argv[i]
運行結果如下:
argv[i]用來讀取命令行輸入的參數!
python 漫談(一)相見恨晚的庫