1、range、xrange,dict.keys(), dict.values(), dict.items(),高阶函数map,filter,zip
python2中的这些东西都是直接返回一个列表
python3中都是返回一个可迭代对象,只有你要用值的时候,才会给你,节省内存
3、编码
python2的默认编码是ascii,因为Python诞生的时候还没有unicode。
python3的默认编码是utf-8,因此你不再需要在文件顶部写 # coding=utf-8 了。
4、字符串
python2中字符串有两种类型:unicode表示字符串,str表示字节串。
python3中字符串有两种类型:一种str表示字符串,bytes表示字节串。任何需要写入文本或者网络传输的数据都只接收bytes类型。
5、global、nonlocal
python2中只有global,没有nonlocal。
python3都有。
6、类中的super,子类中派生的新方法访问父类功能
在python2中:super(自己的类名,自己的对象).init
在python3中:super().init
7、新式类、经典类
新式类:但凡继承object的类及其子子孙孙类,都叫做新式类。python3中即使没有显示的继承object,也默认继承object类,所以python3中所有类都是新式类。
经典类:没有继承object的类及其子子孙孙类,都叫做经典类。只有python2中有经典类。python2中如果有一个类没有显示继承object,并不会自动继承object类。