python2.x和python3.x版本有很大的差异,除了依赖包的名称变化很大外,其主要差异总结如下:
1)输出方面
Python3中,print函数的括号是必须的使用, 如:print(‘hello world’),Python2是可选的,如: print ‘hello world’。
2)输入方面
Python3只保留input()函数,且输入数据全部作为字符串处理,如:input(‘hello world’);Python2还支持row_input()函数,input()函数在处理输入数字的过程中,若输入的数字加引号,则作为字符串处理,否则当作数字处理,如:raw_input(‘hello world’)。
3)关键词加入as 和with,还有True,False,None
4)运算符差异:
4.1 不等于,python3上面表示 1 !=2,python2上面可以使用1 !=2,也可以使用1<>2
4.2 除法运算,python3上面 1/2=0.5, python2上面 1/2=0, 想获得小数需要使用1.0/2=0.5
4.3 python3上面int和str之间不能比较,例如 1<'2',程序会报错,但是python2上面可以比较,1<'2',程序返回True
5)Unicode表示
Python2数据保存为 Unicode编码格式,eg: 姓名 = ‘‘xiaomei’’,程序会报错,Python3默认存储为utf-8编码格式,eg: 姓名 = ‘‘xiaomei’’,变量设置成功不会报错。
6)xrange()函数
Python2中有range()和xrange()函数,其中xrange()是按需返回列表大小,以节省内存占用,Python3中将xrange()函数更名成range()函数,且Python3.2 以及更高的版本中支持切片。
7)python3新增了__next__方法,generator.next
python2只有next()方法,next(generator)
8)异常处理区别
python3使用:
try:
....
except Exception as e:
...
python2使用:
try:
....
except Exception,e:
...