python 漫谈相见恨晚的库
Posted zldai0225
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 漫谈相见恨晚的库相关的知识,希望对你有一定的参考价值。
(一)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 import sys 4 5 print "脚本名:", sys.argv[0] 6 for i in range(1, len(sys.argv)): 7 print "参数", i, sys.argv[i]
运行结果如下:
argv[i]用来读取命令行输入的参数!
以上是关于python 漫谈相见恨晚的库的主要内容,如果未能解决你的问题,请参考以下文章
这段代码很Pythonic | 相见恨晚的 itertools 库