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的区别:的主要内容,如果未能解决你的问题,请参考以下文章