Python2与Python3的区别:

Posted ljchsym

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python2与Python3的区别:相关的知识,希望对你有一定的参考价值。

        前言:目前python两个版本Python2与Python3同时存在,并且这两个版本都在维护更新,但是Python2应该在2020年就停止维护更新了,那么到底选择Python2还是Python3,这个要取决于当前的要使用的库、框架支持哪个版本。现在做一下Python2与Python3的区别:

1、  性能:Py3起始比Py2的效率低,但是Py3具有极大的优化空间,效率正在追赶

2、  编码:Py3原码文件默认使用utf-8编码,使得变量名更为广阔

3、  语法:

1》  Py3去除了<>,改用!=,意思更加明了。

2》  加入了as,with,True,False,None这些关键字。

3》  整型除法返回浮点数,整除使用//。

4》  加入了nonlocal语句:对局部变量进行声明,内部函数使用外部函数的局部变量进行修改。

5》  去除了print语句,加入了print()函数。

6》  去除了raw_input,加入了input()函数。

7》  新的super(),可以不再给super()传参数。

8》  改变了顺序操作符的行为,例如x<y,当x和y类型不匹配时,抛出TypeErrorer,而不是返回随即的bool值。

9》  新式的8进制字变量。

10》  Py2字符串以8-bit字符串存储,Py3字符串以16-bit Unicode字符串存储,现在字符串只有str一种类型。

11》  数据类型:Py3去除了long类型,现在只有一种整型—int,新增了bytes类型,对应于Py2中的八位串。Str对象和bytes对象可以使用encode()(str->bytes)or.decode()(bytes->str)方法相互转化。

12》  面向对象中引入了抽象基类。13》异常:所有异常都从BaseEc=xception继承,并删除了StardardError。

4、  其他:

1》Py3将xrange()改名为range(),要想使用range()获得一个list,必须显示调用。

2》file类被废弃,打开文件用open(path)

以上是关于Python2与Python3的区别:的主要内容,如果未能解决你的问题,请参考以下文章

python2与python3的区别

Python2与Python3的区别

Python2与Python3的区别

python2与python3的区别

Python2与python3的区别

python2 与python3的区别