python代码优化_Python 代码性能优化技巧

原标题:Python 代码性能优化技巧

众所周知,程序的性能好坏影响着用户体验。所以性能是留住用户很重要的一环。Python 语言虽然能做很多事情,但是有一个不足之处,那就是执行效率和性能不够理想。

因此,更有必要进行一定的代码优化来提高 Python 程序的执行效率。本文章主要是输出自己在 Python 程序优化的经验。

推荐下我自己创建的

Python学习交流群960410445,这是Python学习交流的地方,不管你是小白还是大牛,小编都欢迎,不定期分享干货,包括我整理的一份适合零基础学习Python的资料和入门教程。

01尽量使用内置函数

Python 的标准库中有很多内置函数,它们的运行效率都很高。因为很多标准库是使用 C 语言编写的。Pyhton 的内置函数有:

9bcdfbe5c63f43caa101e736927be29c.png

02拼接字符串

运算符 "+" 不仅能用于加法运算,还能做字符串连接。但是这种效率不是很高。在 Python 中,字符串变量在内存中是不可变的。如果使用 "+" 拼接字符串,内存会先创建一个新字符串,然后将两个旧字符串拼接,再复制到新字符串。推荐使用以下方法:

使用 "%" 运算符连接

这种方式有点像 C 语言中 printf 函数的功能,使用 "%s" 来表示字符串类型参数,再用 "%" 连接一个字符串和一组变量。

b036f81afefe49b39e3e2049edfb204e.png

使用 format() 格式化连接

这种格式化字符串函数是 Python 特有的,属于高级用法。因为它威力强大,不仅支持多种参数类型,还支持对数字格式化。

1c5b4148440f45dc9a7c1ee19d11e009.png

上述代码使用隐式的位置参数,format() 还能显式指定参数所对应变量的位置。

dbbf6fa29c234ec6b337ec0a62ba6ad8.png

使用 join() 方式

这种算是技巧性办法。join() 方法通常是用于连接列表或元组中的元素。

ac551cbe06b34bb995512be4229090eb.png

03使用 generator

generator 翻译成中文是生成器。生成器也是一种特殊迭代器。它其实是生成器函数返回生成器的迭代。生成器算是 Python 非常棒的特性。它的出现能帮助大大节省些内存空间。

假如我们要生成从 1 到 10 这 10 个数字,采用列表的方式定义,会占用 10 个地址空间。采用生成器,只会占用一个地址空间。因为生成器并没有把所有的值存在内存中,而是在运行时生成值。所以生成器只能访问一次。

1f0ef00027184e0faa213d4e67d1319f.png

04死循环

虽然使用While True和while 1都能实现死循环,但是while 1是单步运算,所以效率会高一点。

13ff454ff6b04143a968e99df222c968.png

05巧用多重赋值

交换将两个变量的值,我们会立马想到应用一个第三方变量的方法。

6f5ef1a71c054ce78d2ff738bb72c70b.png

Python 素有优雅的名声,所以有一个更加优雅又快速的方法,那就是多重赋值。

b25f0bc036d148c9b5a951ba06c902cf.png

06列表的插入与排序

Python 标准库中有个 bisect 模块是内置模块,它实现了一个算法用于插入元素到有序列表。在一些情况下,这比反复排序列表或构造一个大的列表再排序的效率更高。

4790a1c6f0ea4412b9f6f2ac5c4a106e.png

07尽量使用局部变量

Python 检索局部变量比检索全局变量快。因此, 尽量少用 "global" 关键字。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值