深入类和对象
- 鸭子类型和多态
- 魔法方法
- 类属性和实例属性
- 属性查找顺序
- 静态方法、类方法和实例方法
- super函数(__mro__)
- type()、isinstance()和issubclass()
- 自省机制:__dict__,dir(),hasattr()
- 抽象基类(abstract base class)
类与对象深度问题及解决技巧
- 派生内置不可变类型(不懂)
- 如何为创建大量实例节省内存
- __slots__(关闭动态属性绑定__dict__)
- python中的with语句
- @contextlib.contextmanager
- 如何创建可管理的对象属性|把方法变成属性(不懂,不知道)
- 让类支持比较操作
- @total_ordering 装饰器就只要完成__lt__与__gt__两个方法就可以全部实现。
- 如何在环装数据结构中管理内容(没讲)
import functools from total_ordering
> gt: greater then
> lt: less then
> eq: equal
> ne: not equal
python垃圾回收及性能分析
li += [1,2]
li = li + [1,2]
tu +=(1,2)
- 内存与内存管理简介
- 操作系统的内存管理
- 进程内的内存管理
- 内存池机制- 小整数对象池[-5,256]
- 什么是 PyMallo
- 垃圾回收机制
- os模块:与操作系统交互的库
- psutil模块:与系统交互的库。主要用来做系统监控、性能分析、进程管理。
- python内部的引用计数机制sys.getrefcount()
- 手动启动垃圾回收 gc.collect()
- 标记清除和分代回收(mark&sweep Generational)
- 调试内存泄漏(系统失去对部分内容的管理能力)
- 用pdb进行代码调试。我们常用的代码调试方法有:打印大法、debug。
- 用cProfile进行性能分析。