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]用来读取命令行输入的参数!

猜你喜欢

转载自www.cnblogs.com/zldai0225/p/9061476.html