python2切换python3的不完整笔记。
基础信息
使用list进行包装, 一切皆迭代器
- zip 聚会后返回一个元组的迭代器;
- range (替换xrange)返回迭代器;
- 字典系列 dict.items() 替换掉 dict.iteritems(); dict.keys(), dict.values() 类似;
- 其他函数,map, filter
语句转换为函数
- print()
- exec()
类型转换
- basestring, unicode 转换为str
- str 字符串默认使用 Unicode; 字节序列字面量用b或B前缀构造(b”\127a”)
- long 转换为int, 使用sys.maxsize表示最大数
默认编码 utf8
- 不需要文件头部添加 #coding=utf-8
- encode() 和 decode 默认使用 UTF8 编码
高级解包
1 | a, b, *rest = range(10) |
其他
nonlocal 关键字用于声明非局部变量
yield from 关键字后直接跟一个可迭代对象
as 关键字捕获异常信息(except E as e
)