当前位置: 首页 > news >正文

网站开发发展存在的问题东莞企业网站建设价格

网站开发发展存在的问题,东莞企业网站建设价格,怎么制作公司的网站,自己开网店没有货源怎么办5个代码技巧,加速你的Python 人生苦短,快学Python! Python作为一种功能强大的编程语言,因其简单易学而受到很多初学者的青睐。它的应用领域又非常广泛:科学计算、游戏开发、爬虫、人工智能、自动化办公、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进行加速:

image-20230118174746078

结果可以看到,我们的自定义函数在使用engine='numba'engine='cython' 后,速度明显加快!

人生苦短,快学Python!

今天我们给大家分享了7个代码技巧,加速你的Python运行速度,提高Python技能!


自定义函数 使用 engine=‘numba’ 或 engine=‘cython’ 后,速度明显加快

使用自带函数,速度明显比使用自定义函数更快,此时加上 engine=‘numba’ 或 engine=‘cython’ 没有加速效果。

http://www.yayakq.cn/news/816777/

相关文章:

  • 湟中县公司网站建设搜索引擎网站大全
  • 苏州专业做网站较好的公司广告设计公司相城黄埭
  • 濮阳做网站建设的公司wordpress 咚门
  • 秦皇岛酒店网站设计珠海网站建设制作怎么收费
  • 中山市做网站动画制作流程
  • 在线做流程图的网站五大常用办公软件
  • 做的好的h游戏下载网站有哪些青岛seo外包服务
  • 深圳网站做的好的公司网站内如何做内部链接
  • gta手机网站大全银川建企业模板网站
  • 做网站麻烦吗网站建站智能系统
  • 湖州市城乡建设局网站建设银行网站优点
  • 做网站起什么名字比较好衡水住房和城乡建设局网站
  • 做外贸手机网站wordpress版本文件夹
  • 查网站排名什么是搜索引擎优化seo
  • 电商网站设计与开发wordpress中菜单
  • dede wap网站模板工程建设云小程序
  • 对网站建设服务公司的看法青岛知名网站建设多少钱
  • 有什么网站可以做电子版邀请函什么网站找厂做袜子
  • 网站多次提交婚纱网站论文
  • 中国住房和城乡建设部建造师网站环保网站 中企动力建设
  • 广州网站制作无锡网站建设设计公司
  • 单页网站修改汅app下载大全2022
  • 网站一般有哪些模块莱山网站建设
  • 芦苞网站建设如何实现wordpress伪静态
  • 洛阳网站建设哪个好点做视频链接哪个网站没有广告
  • 常州网站推广培训瑞昌建站公司
  • 服装设计素材网站大全餐饮公司网站建设
  • 百色高端网站建设建工网校官网论坛入口
  • 广告发布网站模板学校英文版网站建设方案
  • 网站移动适配河南送变电建设有限公司网站