Ⅱ Python进阶¶
这一部分的内容,适合掌握了 Python 基础语法,进一步来了解、学习 Python 的一些技巧。
- 1. Pythonic与代码质量
- 2. 习惯用法
- 3. 基础语法的改进
- 3.1. 有节制地使用
from...import
语句 - 3.2. 优先使用absolute import来导入模块
- 3.3.
i+=1
不等于++i
- 3.4. 使用with自动关闭资源
- 3.5. 使用
else
子句简化循环(异常处理) - 3.6. 遵循异常处理的几点基本原则
- 3.7. 避免finally中可能发生的陷阱
- 3.8. 深入理解None,正确判断对象是否为空
- 3.9. 连接字符串应优先使用
join
而不是+
- 3.10. 格式化字符串时尽量使用
.format
方式而不是%
- 3.11. 区别对待可变对象和不可变对象
- 3.12.
[]
、()
和{}
一致的容器初始化形式 - 3.13. 记住函数传参既不是传值也不是传引用
- 3.14. 警惕默认参数潜在的问题
- 3.15. 慎用变长参数
- 3.16. 深入理解
str()
和repr()
的区别 - 3.17. 分清staticmethod和classmethod的适用场景
- 3.1. 有节制地使用
- 4. 一些类库的用法
- 5. 设计模式
- 6. 内部机制
- 6.1. 理解 built-in objects
- 6.2.
__init__()
不是构造方法 - 6.3. 理解名字查找机制
- 6.4. 为什么需要
self
参数 - 6.5. 理解MRO与多继承
- 6.6. 理解描述符机制
- 6.7. 区别
__getattr__()
和__getattribute__()
方法 - 6.8. 使用更为安全的property
- 6.9. 掌握metaclass
- 6.10. 熟悉Python对象协议
- 6.11. 熟悉Python的迭代器协议
- 6.12. 熟悉Python的生成器
- 6.13. 基于生成器的协程及greenlet
- 6.14. 理解GIL的局限性
- 6.15. 对象的管理与垃圾回收