python提高代码运行效率的小技巧

博客介绍了Python程序性能优化的方法,如将全局代码放入函数可提升15% - 30%性能,因局部变量更快;去掉属性访问以减少额外开销;将频繁访问名称变为局部变量;避免不必要抽象;使用内置容器;避免创建不必要数据结构和复制;注意字典创建方式;最重要的是优化算法复杂度。
  1. .将全局范围的代码放入函数中,使用函数大概能带来15%~30%的性能提升,这种速度差异是由于局部变量和全局变量的实现方式(使用局部变量要更快些);

  2. 尽量去掉属性访问,每一次使用(.)操作符来访问属性时会带来额外的开销,它会触发特定的方法,比如__getattribute__()和__getattr__(),这些方法会进行字典操作操作;

import math 
def compute_roots(nums): 
	sqrt = math.sqrt
	result = [] 
	result_append = result.append 
	for n in nums:
		 result_append(sqrt(n)) 
	return result
  1. 对于频繁访问的名称,通常将这些名称变成变成局部变量可以加快程序运行;
class SomeClass: 
	def method(self): 
		value = self.valye
		for x in s: 
			op(value)					        		  			
  1. 避免比必要的抽象,任何时候当你使用额外的处理层(比如装饰器、属性访问、描述器)去包装你的代;

  2. 使用内置的容器,内置的数据类型比如字符串、元组、列表、集合和字典都是使用 C 来实现的,运 行起来非常快;

  3. 避免创建不必要的数据结构和复制;

  4. 用dict创建字典比直接用{}创建要慢;

  5. 最重要的一点的优化算法复杂度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值