关于优化不得不说的八点
- 字符串拼接优化:字符串大量拼接尽量用join方法,但当拼接的字符串只有几个或者几十个,使用+号效率反而高于join。
- 循环优化:将内层计算提到上一层。
- 充分利用 Lazy if-evaluation的特性:if x and y 在x为false的情况下,y不再计算,尽量将鲜明false条件提前,
if x or y,尽量将鲜明true条件提前。 - if done is not None 比语句 if done != None 更快。
- 使用级联比较 "x < y < z" 而不是 "x < y and y < z"。
- while 1 要比 while True 更快。
- += 要比 a = a + b 要快,用列表举例 a += b,使用 += 的话就像是使用了a.extend(b),如果使用 + 的话,
则是 a = a+b,前者是直接在原列表上进行扩展,而后者是先从原列表中取出值,在一个新的列表中进行扩展,
然后再将新的列表对象返回给变量,显然后者的消耗要大些。所以在能使用增量赋值的时候尽量使用它。 - is 运算符比 == 效率高,在变量和None进行比较时,应该使用 is
我觉得以初学者的角度来说,如果能做好这几条优化小细节,对之后的改善编程习惯和提高程序效率上应该会有所提高。
原文地址:https://www.cnblogs.com/why72/p/11218169.html
时间: 2024-10-22 00:54:54