Python示例
1. 简单的函数使用
2. 简单的数据使用
3. 简单的类使用
Python 思维
符号机制
1. 子符号的概念 名词空间:模块、类、namespace;local()、globals()、vars()
1.1 名词空间的实现
1.2 名词空间的引入 vars(obj)取出自定义符号__dict__ dir(obj)可以取出全部的子符号
1.3 自定义名词空间
2. 查看符号实体关联情况 id / type / instance / issubclass / callable ...
3. 符号与实体如何关联 __class__, __base__, __bases__
3.1 定义一个符号
3.2 实例化一个类
3.2 继承一个类
4. 类子符号搜索方式 经典类深度优先,新式类广度优先,dir()显示所有符号
4.1 搜索逻辑
4.2 dir包括所有__dict__
4.3 类子符号的编辑 子符号在搜索逻辑的最高层空间中被创建,覆盖低优先给符号 写时复制 __slots__限定
4.4 类子符号的访问控制 (@)staticmethod、(@)classmethod、(非)绑定调用、(@)property
4.5解释器如何解释符号 函数、仿函式的__call__子符号
5. 定义实体的实现
5.1 Def / Lambda __call__本质,符号搜索local,global
5.2 Class的初始化 __new__ / __del__ / __init__ / super
5.3 闭包函数 用函数模拟类
5.4 函数的逻辑控制
6. 内建符号 函数、模块、类、变量 __doc__ __dict__ ……
6.1 常见用法
6.2 详见附录
高级处理机制
1. 描述符代理类
2. 迭代 / yield __iter__ / next() 事先生成自己维护序号返回 yield使用时才生成
2.1 自定义迭代器的实现
2.2 yield 解释器阻断
3. try 机制
3.1 异常机制的处理结构
3.2 with 将try中用到的资源用with 去监控,省去finally的控制收尾
4. 模块导入 import / reload
5. 编译加速 compile (string, file, type)
6. 传递函数 用关联函数实体的符号,做参数
7. 偏函数 为函数指定特定参数,改变接口
8. 装饰函数 用其它函数包装自定义函数,并且将自定义符号关联到包装函数的返回值
相关工具 调试、日志、性能测试
- Debugger: pdb
- Logger: logging
- Profilers: profile, hotshot, cProfile
附录