python中一些简单的代码优化细节

关于优化不得不说的八点


  1. 字符串拼接优化:字符串大量拼接尽量用join方法,但当拼接的字符串只有几个或者几十个,使用+号效率反而高于join。
  2. 循环优化:将内层计算提到上一层。
  3. 充分利用 Lazy if-evaluation的特性:if x and y 在x为false的情况下,y不再计算,尽量将鲜明false条件提前,
    if x or y,尽量将鲜明true条件提前。
  4. if done is not None 比语句 if done != None 更快。
  5. 使用级联比较 "x < y < z" 而不是 "x < y and y < z"。
  6. while 1 要比 while True 更快。
  7. += 要比 a = a + b 要快,用列表举例 a += b,使用 += 的话就像是使用了a.extend(b),如果使用 + 的话,
    则是 a = a+b,前者是直接在原列表上进行扩展,而后者是先从原列表中取出值,在一个新的列表中进行扩展,
    然后再将新的列表对象返回给变量,显然后者的消耗要大些。所以在能使用增量赋值的时候尽量使用它。
  8. is 运算符比 == 效率高,在变量和None进行比较时,应该使用 is

我觉得以初学者的角度来说,如果能做好这几条优化小细节,对之后的改善编程习惯和提高程序效率上应该会有所提高。
posted @ 2019-07-20 16:25  why72  阅读(338)  评论(0编辑  收藏  举报