简单的总结一些python3和python2上面的一些常见的区别:
1,python3相比python2,效率上会低一些,因为python3代码更加规范,代码量稍微会大一些,但是低的不明显;
2,python3版本,默认使用utf-8编码,eg: 姓名 = ''xiaoming'',变量设置成功不会报错;
python2版本默认使用Unicode编码,eg: 姓名 = ''xiaoming'',程序会报错;
3,运算符差异:
3.1 不等于,python3上面表示 1 !=2,python2上面可以使用1 !=2,也可以使用1<>2
3.2 除法运算,python3上面 1/2=0.5, python2上面 1/2=0, 想获得小数需要使用1.0/2=0.5
3.3 python3上面int和str之间不能比较,例如 1<'2',程序会报错,但是python2上面可以比较,1<'2',程序返回True
4,python2上面,0666表示八进制,十进制结果为438
python3上面,0666会报错,需要写成0o666
5,python3上,增加了with,as 功能
6,python3输出更规范,使用print('hello world'),python2输出可以使用print 'hello world'
7,python3输入更规范,使用input('hello world'),得到的是str类型,python2输入可以使用raw_input('hello world'),得到的是str类型
8,python3使用list(range(10))得到是list数据,但是python2上面range(10)得到的就是list类型数据;
python3循环使用range(10),python2上面循环使用xrange(10)
9,python3上面文件操作使用open,python2上面可以使用open和file
10,python3上面取消了long类型数据,会自动处理数据
11,python3上面新增了bytes类型数据,例如,type(b'haha'),python3显示bytes类型,python2显示str类型
12,异常处理区别,python3使用:
try:
....
except Exception as e:
...
python2使用:
try:
....
except Exception,e:
...
13,python3新增了__next__方法,generator.__next__
python2只有next()方法,next(generator)