Python 2 和 3 之间的主要区别

Unicode

Python 2:ASCII 类型的 str() 类型,单独的unicode()函数,没有byte类型
Python 3:终于有了Unicode (utf-8) 字符串,和两个byte类:byte 和 bytearrays

打印语句 print

非常微不足道的改变,Python 3 print 只接受带正确()的语法,就像其它函数调用:

在一行写连续两个 print,在python 2 用逗号,python 3 是 end=””:

整数除法

在python 2 代码向 python 3 移植时,这个是最危险最容易被忽略的。
在用python2时,导入 __future__ import division 就可以使用python3的语法了,防止在移植代码时忘记。

xrange()

xrange()在python 2中常在for循环中使用,速度比range()快。在python3中xrange()被删除了:

抛出异常

处理异常

python3中用as关键字处理异常

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

Python 3.x的for循环里的变量不在影响全局命名空间

Python 3 不允许 unorderable 类型的比较

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注