python性能优化学习一

1、合理使用copy与deepcopy

对于dict和list等数据结构的对象,直接赋值使用的是引用的方式。而有些情况下需要复制整个对象,这时可以使用copy包里的copy和deepcopy

2、优化循环

循环之外能做的事不要放在循环内,比如下面的优化可以快一倍:

 

3、优化包含多个判断表达式的顺序

对于and,应该把满足条件少的放在前面,对于or,把满足条件多的放在前面。

 

4、使用if is

 

使用 if is True 比 if == True 将近快一倍。

 

5使用级联比较x < y < z

eg:

使用if x<y<z 比使用 if x<y and y<z效率要好

 

6、不借助中间变量交换两个变量的值

推荐使用a,b = b,a

 

7、使用join合并迭代器中的字符串

比较限制的是非迭代器中的不好处理

8、合理使用生成器(generator)和yield

关于生成器可以参考如下链接

https://www.liaoxuefeng.com/wiki/897692888725344/923029685138624

简单来说,生成器就是计算公式,不显示提供数据,而是提供计算公式

yield简单来说就是提供了计算公式的中间结果,而使用next函数可以不断计算下一个函数值

 

9、关闭GC

垃圾回收必然会影响执行效率,某些场景下关闭垃圾回收能提高运行效率

 

10、使用pypy

其实使用cpython也能提高效率,但是当前来看pypy是未来,而且效率更高,是值得推荐使用的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值