24招加速你的Python,超级实用

从以下九个方面讨论了加速Python的具体方法,一共24个,每个都带有优化前后的对比,非常实用。

  1. 分析代码运行时间
  2. 加速查找
  3. 加速循环
  4. 加速函数
  5. 实用标准库加速
  6. Numpy向量化加速
  7. 加速Pandas
  8. Dask加速
  9. 多线程多进程加速

我在此基础上 主要美化了编辑 ,方便读者更容易阅读学习。

“为解决初学者学习上的困难,专门建立的Python学习扣qun:784758214,从0基础的python脚本到web开发、爬虫、django、数据挖掘数据分析等,0基础到项目实战的资料都有整理。送给每一位python的小伙伴!每晚分享一些学习的方法和需要注意的小细节,学习路线规划,利用编程赚外快。点击加入我们的 python学习圈

一 、分析代码运行时间

1 测算代码单次运行时间

平凡法:

24招加速你的Python,超级实用_第1张图片

快捷法(Jupyter):

24招加速你的Python,超级实用_第2张图片

2 测算代码重复执行多次平均用时

平凡法:

24招加速你的Python,超级实用_第3张图片

快捷法(Jupyter):

24招加速你的Python,超级实用_第4张图片

3 按调用函数分析代码运行时间

平凡法:

24招加速你的Python,超级实用_第5张图片

快捷法(Jupyter):

24招加速你的Python,超级实用_第6张图片

4 按行分析代码运行时间

平凡法:

24招加速你的Python,超级实用_第7张图片

快捷法(Jupyter):

24招加速你的Python,超级实用_第8张图片

二、加速你的查找

5 用set而非list进行in查找

低速法:

24招加速你的Python,超级实用_第9张图片

高速法:

24招加速你的Python,超级实用_第10张图片

6 用dict而非两个list进行匹配查找

低速法:

24招加速你的Python,超级实用_第11张图片

高速法:

24招加速你的Python,超级实用_第12张图片

三、加速你的循环

7 优先使用for循环而不是while循环

低速法:

24招加速你的Python,超级实用_第13张图片

高速法:

24招加速你的Python,超级实用_第14张图片

8 循环体中避免重复运算

低速法:

24招加速你的Python,超级实用_第15张图片

高速法:

24招加速你的Python,超级实用_第16张图片

四、加速你的函数

9、用缓存机制加速递归函数

低速法:

24招加速你的Python,超级实用_第17张图片

高速法:

24招加速你的Python,超级实用_第18张图片

10、用循环取代递归

低速法:

24招加速你的Python,超级实用_第19张图片

高速法:

24招加速你的Python,超级实用_第20张图片

11、 使用Numba加速Python函数

低速法:

24招加速你的Python,超级实用_第21张图片

高速法:

24招加速你的Python,超级实用_第22张图片

五、使用标准库函数进行加速

12、使用collections.Counter类加速计数

低速法:

24招加速你的Python,超级实用_第23张图片

高速法:

24招加速你的Python,超级实用_第24张图片

13、使用collections.ChainMap加速字典合并

低速法:

24招加速你的Python,超级实用_第25张图片

高速法:

24招加速你的Python,超级实用_第26张图片

六、使用numpy向量化进行加速

14、使用np.array代替list

低速法:

24招加速你的Python,超级实用_第27张图片

高速法:

24招加速你的Python,超级实用_第28张图片

15、使用np.ufunc代替math.func

低速法:

24招加速你的Python,超级实用_第29张图片

高速法:

24招加速你的Python,超级实用_第30张图片

16、使用np.where代替if

低速法:

24招加速你的Python,超级实用_第31张图片

高速法:

24招加速你的Python,超级实用_第32张图片

七、加速你的Pandas

低速法:

24招加速你的Python,超级实用_第33张图片

高速法:

24招加速你的Python,超级实用_第34张图片

18、避免动态改变DataFrame的行数

低速法:

24招加速你的Python,超级实用_第35张图片

高速法:

24招加速你的Python,超级实用_第36张图片

19、使用csv文件读写代替xlsx文件读写

低速法:

24招加速你的Python,超级实用_第37张图片

高速法:

24招加速你的Python,超级实用_第38张图片

20、使用pandas多进程工具pandarallel

低速法:

24招加速你的Python,超级实用_第39张图片

高速法:

24招加速你的Python,超级实用_第40张图片

八、使用Dask进行加速

21、使用dask加速dataframe

低速法:

24招加速你的Python,超级实用_第41张图片

高速法 :

24招加速你的Python,超级实用_第42张图片

22、使用dask.delayed应用多进程加速

低速法:

24招加速你的Python,超级实用_第43张图片

高速法:

24招加速你的Python,超级实用_第44张图片

九、应用多线程多进程加速

23、使用多线程提升IO密集任务效率

低速法:

24招加速你的Python,超级实用_第45张图片

高速法:

24招加速你的Python,超级实用_第46张图片

24、使用多进程提升CPU密集任务效率

低速法:

24招加速你的Python,超级实用_第47张图片

高速法:

24招加速你的Python,超级实用_第48张图片

你可能感兴趣的