Python2与python3的八个主要区别

电子说

1.3w人已加入

描述

在python这门语言中有两个重要的版本,一个是python2,一个是python3。

Python 2于2000年10月16日发布,稳定版本是Python 2.7。Python 3于2008年12月3日发布,不完全兼容Python 2。对于初学者来说,要选择python3进行学习,毕竟它代表未来。

在公司产品开发中,有个别产品可能开发比较早,采用的是python2.x版本开发的,对于没有接触过python2.x版本的人来说,看到或修改这些代码会感觉很怪异,其实我们只要掌握python2和python3的主要区别就够了,下面勇哥给大家分享下python2和python3的主要区别。

1、 print用法差异比较大

如果要打印某个信息:

2、 用户输入函数不同

用户输入不同,python3中只有input(),它返回的都是str类型,python2中的raw_input()是用来接收字符串的,python2中也有input(),输入字符串时需要带上引号,表示你输入的是字符串,输入数字不需带。

3、 字符串编码的改变

Python2默认ASCII编码方式,但是ASCII编码无法对中文等字符进行有效编码,因此在涉及到中文及其它字符编码问题时,ASCII不仅无能为力,经常会带来意想不到的错误。Python 3 默认采用了 UTF-8 作为默认编码,因此不需要在文件顶部写 # coding=utf-8 。

4、整数类型的改变

python3 彻底废弃了 long+int 双整数实现的方法, 统一为 int , 支持高精度整数运算。int的表示范围相当于其他语言中的long long int类型。

5、除法符号表示的意义不同

原来python2中执行1/2(两个整数相除)结果是0,现在python3中执行就是0.5了

6、Python2以前没有布尔型,0表示False,1表示True;Python3 把 True 和 False 定义成关键字,它们的值是 1 和 0,可以和数字运算。

7、pthony2中range()内置函数直接生成列表(量大占内存会死机),pthony3中只有range()和python2中的xrang()一样都只生成一个生成器。python3中没有xrange()这个内置函数。

8、创建类时,python2分为经典类和新式类,新式类就是继承object的类,经典类是没有继承的类,而python3中全部是新式类,默认继承object。在属性查找时,经典类查找方式为深度优先,新式类是广度优先。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分