Python 3 和 Python 2 区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_29720657/article/details/102720737

官方宣布,2020 年 1 月 1 日, 将停止 Python 2 的更新。

Python 3 设计的时候没有考虑向下兼容,所以把那些在2的项目搬到3上面来吧。

现在一般讲Python都指的是 Python 3 。那么 2 和 3 有啥区别呢?

(1)在python2.x中,输出数据使用的是print语句。但是在python3.x中, print语句没有了,取而代之的是print()函数

(2)python2有ASCII Str()类型,unicode()是单独的,不是byte类型。在python3.x版本的源代码中,默认使用的是UTF-8编码,从而可以很好的支持中文字符。

(3)在python 2.x中,使用运算符/进行除法运算,整数相除的结果是一个整数,浮点数除法会保留小数点的部分得到一个浮点数的结果。在python 3.x中使用运算符/进行除法,整数之间的相除,结果也会是浮点数。

(4)相比python2.x版本,python3.x版本在异常方面有很多改变:

  1. 在python2.x版本,所有类型的对象都是直接被抛出的,但是,在python3.x版本中,只有继承自BaseException的对象才可以被抛出。
  2. 在python2.x版本中,捕获异常的语法是except exc,var。在python3.x版本中,引入了as关键字,捕获异常的语法变更为except exc as var。
  3. 在python2.x版本中,处理异常使用raise Exception(args)。在python3.x版本中,处理异常使用raiseException,args。
  4. python3.x取消了异常类的序列行为和.message属性。

(5)在Python 3.x中,表示八进制字面量的方式只有一种,并且必须写0o1000这样的方式,原来01000的方式不能使用了。

(6)Python 2.x中不等于有两种写法 != 和 <>;但是,Python 3.x中去掉了<>, 只有!=一种写法

(7)python3.x去除了long类型,现在只有一种整型int,但它的行为就像是python2.x版本的long。

猜你喜欢

转载自blog.csdn.net/qq_29720657/article/details/102720737