码迷,mamicode.com
首页 > 编程语言 > 详细

Python2与Python3的区别:

时间:2019-03-25 20:47:25      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:相互   long   编码   前言   ror   false   star   框架   打开文件   

        前言:目前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的区别:

标签:相互   long   编码   前言   ror   false   star   框架   打开文件   

原文地址:https://www.cnblogs.com/LJCHSYM/p/10596383.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!