此文章的目的为分享个人学习心得,与更多的人交流,一起进步,并非原创,只是对原书的梳理总结,封面图片来自网络,侵删。
格式
- 充分体现Python优势的代码风格,即为Pythonic,如交换赋值、迭代器、format()等
2. 遵守PEP8规则
3. 单双引号没有区别;哈希表实现switch case
4. 注释的必要性
5. 适当添加空行,每行不超过80字符
6. 函数4原则:减少嵌套;减少参数;参数设默认值;单一职责
7. 常量集中(大写命名,或导入const包)
习惯
8. assert应用于捕获用户所定义的约束,而非程序本身的
9. 交换值不使用中间量不仅使代码优雅,也加快运行速度
10. Lazy evaluation: if语句中如果存在and且前一个条件不满足的话,下一个条件不会进行计算,所以可以把可能为真概率最低的条件放在最前面,加速运行
11. 枚举类型:enum.Enum
12. 用isinstance()而非type()检查类型,防止继承带来的不合逻辑。
13. float一定要指明精度再做判断,因为float在计算机内部的存储规则使之无法准确表示而是无限接近
14. eval is evil
15. 同时需要索引和值时优先使用enumerate()
16. is为True表示两个变量指向同一个id地址,==为True表示值相等
17. Python2中需要声明 -*- coding: utf-8 -*- 支持unicode编码,Python3自动支持
18. 空 __init__.py 文件构建包,__init_.py可写入import语句使得子包的module可被直接导入,写入__all__变量可控制import *
基础
19.
库
36.
设计
50. 单例模式不一定要“实例唯一”,重要的是每个实例的状态相同即可,故用Borg模式取代Singleton模式
机制
54.
工具
70.
优化
79.