序列
-
容器序列(list,tuple ,collections.deque)存放任意对象的引用
-
扁平序列(str,bytes,bytearray,memoryview,array.array)存放值
-
可变序列 (list,bytearray,memoryview,array.array,collections.deque)
-
不可变序列(tuple,str,bytes)
字典,集合
- 字典推导式
{key:value for key:value in [(k1,v1),(k2,v2)]} -
colletcions.defaultdict 处理找不到的键
-
colletcions.ChainMap 合并字典
-
colletcions.Counter 计数器
- colletcions.UserDict 用于继承
函数
- 函数是一等对象,一等对象:
- 运行时创建
- 能赋值给变量或数据结构中的元素
- 能作为参数
- 能作为函数的返回结果
-
绝大多数设计模式能用Python较简单的实现
- functools.lru_cache 做备忘
面向对象
-
变量不是盒子,是便签
-
默认做浅复制
-
不要使用可变类型作为参数的默认值
-
对象不会自行销毁,没有引用的对象可能被回收
-
声明基类最简单的方式是继承abc.ABC
流程控制
- for/esle while/else try/else