河北省建设网站锁安装什么驱动,logo设计免费生成器在线,百度指数使用方法,建筑平面设计图用什么软件5个代码技巧#xff0c;加速你的Python
人生苦短#xff0c;快学Python#xff01;
Python作为一种功能强大的编程语言#xff0c;因其简单易学而受到很多初学者的青睐。它的应用领域又非常广泛#xff1a;科学计算、游戏开发、爬虫、人工智能、自动化办公、Web应用开发…5个代码技巧加速你的Python
人生苦短快学Python
Python作为一种功能强大的编程语言因其简单易学而受到很多初学者的青睐。它的应用领域又非常广泛科学计算、游戏开发、爬虫、人工智能、自动化办公、Web应用开发等等。 而在数据科学领域中Python 是使用最广泛的编程语言并且其受欢迎程度持续增长。如果也经常需要用Python处理海量数据就一定会遇到代码运行几十分钟甚至更久的情况。今天我们会给大家分享7个代码技巧加速你的Python运行速度提高Python技能
技巧 1加速 NumPy
NumPy是一个可高效处理数组的 Python 库它还提供快速和优化的矢量化操作。但它不支持并行处理。作为 NumPy 的替代品我们可以使用NumExpr。NumExpr 的性能明显优于 NumPy因为它支持多线程。此外它避免了为中间结果分配内存。
pip install numexpr在交互式环境中输入如下命令
import numpy as np
import numexpr as ne
import timeitvar1 np.random.random(2**27)
var2 np.random.random(2**27)%timeit np.sin(var1) / np.cos(var2)
%timeit ne.evaluate(sin(var1) / cos(var2))输出 根据执行结果使用 NumExpr 大约快 4 倍。当你有大型数组需要处理时NumExpr 效果最佳。
技巧 2优先使用内置函数
Python 内置函数比自定义实现快得多因此我们要优先使用它们。
举个例子 在上面的代码中我们将一个包含四个条目的列表复制了 1000 万次因此我们得到了一个包含 4000 万个条目的列表然后我们将列表中的字符串转换为小写。
可以看到结果使用内置函数的速度提高了大约 23倍。
关于内置函数的使用可以参考我们之前分享的文章
Python中堪称神仙的6个内置函数
Python中最常用的10个内置函数
技巧 3使用列表生成式
经常使用列表和for循环来存储计算结果其实使用列表生成式能更快。
在交互式环境中输入如下命令
import numpy as np
from time import perf_counterresult_list_loop []
result_list_com []number_round 10000000start perf_counter()
for i in range(number_round):result_list_loop.append(i*i)
print(perf_counter()-start)start perf_counter()
result_list_com [i*i for i in range(number_round)]
print(perf_counter()-start)print(result_list_com[10])输出 如上图所示使用列表生成式能快3倍。
列表生成式是一种基于其他iterable如集合、元组、其他列表等创建列表的方法大家感兴趣可以自行了解一下。 技巧 4不要导入不必要的模块
估计大家可能已经多次听到这个技巧但它可以显着提高代码的性能。有时候没有必要导入整个库毕竟我们通常只需要它的某些功能。
这里我们使用math模块作为例子
import math
from time import perf_counterstart perf_counter()
variable math.exp(7)
print(perf_counter()-start)接着我们不导入整个math模块只使用需要的 exp() 函数。
from math import exp
from time import perf_counterstart perf_counter()
variable exp(7)
print(perf_counter()-start)两次运行时间比较 技巧 5使用numba
Numba 是一款为 python 打造的、专门针对 Numpy 数组循环计算场景的即时编译器。
在交互式环境中输入如下命令
df pd.DataFrame({x:np.random.rand(10000)})def calculate(x):return np.sum(x)/x.size输出分别Numba和低级语言CPython进行加速 结果可以看到我们的自定义函数在使用enginenumba 或 enginecython 后速度明显加快 人生苦短快学Python
今天我们给大家分享了7个代码技巧加速你的Python运行速度提高Python技能 自定义函数 使用 engine‘numba’ 或 engine‘cython’ 后速度明显加快
使用自带函数速度明显比使用自定义函数更快此时加上 engine‘numba’ 或 engine‘cython’ 没有加速效果。