python2 与 python3的主要差异

1.__future__模块

python3 介绍的一些特性可以通过python2内置的__future__模块导入

比如,python2 要实现在python3 中的整除

from __future__ import division

2.python3 中,print生命已经被print()函数取代了

3.整除

#python 2
print 3/2 #1
print 3//2 #1
print 3/2.0 #1.5
print 3//2.0 #1.0


#python 3
print(3/2) #1.5
print(3//2) #1
print(3//2.0) #1.5
print(3//2.0) #1.0

5.xrange模块 ,python3中已经取消,2使用xrange()创建迭代对象非常流行,xrange()比range()快

6.python3 中 range对象的__contians__方法,可以加速查找整数和布尔类型

7.Raising exceptions:

#python2
raise IoError ,"file error"

#python 3
raise IoError("file error")

8.Handing exceptions

在python3中处理异常也轻微改变了,使用as作为关键字。

#python 2
except NameError ,err:

#python 3
except NameError as err:

9.3中next()函数和.next()方法

10.python3中改善了for循环变量和全局命名空间的泄露,循环控制变量不在泄露进周围的作用域。

11.比较不可排序类型

3中当比较不可排序类型时,会报类型错误TypeError

12.返回迭代对象而不是列表

list()将迭代对象转换成列表

python3 中返回的是迭代对象而不是列表的函数和方法

zip()

map()

reduce()

dict.keys()....

详细地址 http://chenqx.github.io/2014/11/10/Key-differences-between-Python-2-7-x-and-Python-3-x/

猜你喜欢

转载自blog.csdn.net/qq_41359265/article/details/84289774