python的优化策略
更多的使用局域变量,少使用全局变量
- 更容易维护
- 一方面,本地域搜索起来更快;另一方面用更短的标识太替代过长的变量名
减少使用函数
- 判断一个对象的种类,优先使用isinstance, id, type,后面的性能更差
- 不要把表达式放在一个循环中,这会导致额外的开支
1 | #Each loop needs to re-execute len(a) |
- 引入模块具体方法, 最好使用from…import…
利用字典来优化多个if语句的判断
1 | #if reach |
直接迭代具体的元素
1 | a = [1,2,3] |
使用迭代器来替换列表等数据
对内存的优化更好
1 | #Calculate the number of non-null characters in file f |
先编译再调用
在使用eval和exec方法时,可以先利用compile命令编译成二进制命令,效率更好
尤其是在正则模块中,使用compile来编译成表达式,而不是直接去match
养成模块的好习惯
要养成模块的编程方式,执行代码均放在main函数中,这样在import这个文件的时候,不会直接执行