Python2.x和Python3.x的区别(一)

Python2.x和Python3.x的区别(一),第1张

和 Python 2.x 版本相比,Python 3.x版本在语句输出、编码、异常等方面做出了一些调整,本次就对这些调整做一下基本的分享。

Python 3.x print函数代替了print语句

在 Python2.x 中,输出数据使用的是print语句,例如:

>>> print "3,4"

3,4

或者

>>> print(3,4)

(3,4)

但是在 Python 3.x 中,print 语句没有了,取而代之的print函数,例如:

>>> print(3,4)

3 4

如果还像 Python 2.x 中那样使用 print 语句,Python 编译器就会报错,例如:

>>> print "3,4"

File "", line 1

print "3,4"

^

SyntaxError: Missing parentheses in call to 'print'

Python 3.x 默认使用 UTF-8 编码

相比 Python 2.x 默认采用的 ASCII 编码,Python 3.x 默认使用 UTF-8 编码,可以很好地支持中文或其它非英文字符。

例如,输出一句中文,使用 Python 2.x 和 Python 3.x 的区别如下:

#Python 2.x

>>>str ="正厚Python教学"

>>>str

'\u6b63\u539aPython\u6559\u5b66'


#Python 3.x

>>>str ="正厚Python教学"

>>>str

'正厚Python教学'

不仅如此,在 Python 3.x 中,下面的代码也是合法的:

>>>中国="China"

>>>print(中国)

China

Python 3.x异常

在 Python 3.x 版本中,异常处理改变的地方主要在以下几个方面:

1. 在 Python 2.x 版本中,所有类型的对象都是直接被抛出的,但是在 Python 3.x 版本中,只有继承 BaseException 的对象才可以被抛出。

2. 在 Python 2.x 版本中,捕获异常的语法是“except Exception,var:”;但在 Python 3.x 版本中,引入了 as 关键字,捕获异常的语法变更为 “except Exception as var:”。

3. 在 Python 3.x 版本中,处理异常用 “raise Exception(args)”代替了“raise Exception,args”。

4. Python 3.x 版本中,取消了异常类的序列行为和 .message 属性。

以上就是本次分享的Python 2.x和Python 3.x的一部分区别,下次我们接着分享其他的区别。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/792021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存