py2的地位被严重低估py2与py3的区别,初学者应该如何选择?

Posted 诗一样的代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了py2的地位被严重低估py2与py3的区别,初学者应该如何选择?相关的知识,希望对你有一定的参考价值。

py2与py3的区别,初学者应该如何选择?在这里给出一个明确的答案

先了解一下历史:
Python 2.0 于 2000 年 10 月 16 日发布,增加了实现完整的垃圾回收,并且支持 Unicode。
Python 3.0 于 2008 年 12 月 3 日发布,此版不完全兼容之前的 Python 源代码。不过,很多新特性后来也被移植到旧的Python 2.6/2.7版本。
Python 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。
Python 2.7 被确定为最后一个 Python 2.x 版本,它除了支持 Python 2.x 语法外,还支持部分 Python 3.1 语法。

从上面的简介可以看出py2已经不更新了,并且py3和py2不兼容。

py2和py3的区别:
1 编码区别
py2 的默认编码是ASCII,py3的默认编码是UTF-8

2print语句的区别
py2print函数可以用引号引起来也可以括起来执行,py3必须括号括起来执行

3输入函数的区别
py2交互使用函数raw_input()得到了str,input()得到了int数据类型,py3使用input() 得到str

4 整型除法
python2:只能保留整数位
python3:可以保留所有内容

5range
xrange:不会在内存中立即创建,而是在循环时,边循环边创建
range:在内存立即把所有的值创建
python3:

只有range,相当于python2中的xrange
range:不会在内存中立即创建,而是在循环时,边循环边创建

6import
因为py2和py3是不兼容的,所以我们下载安装包的时候,需要看清楚是什么版本的。

我们知道了区别,那么改如何选择学什么呢?
现在的大学或者市面上教的全部都是python3。是的,很多学生甚至不知道python2是什么玩意。那么我们完全就没有必要研究python2了吗?

并不是这样的,其实现在的公司还是有大量运用python2的代码。为什么会这样呢?因为代码都是10几年留存下来的,经过多次迭代,并且运用的非常成熟。公司没有必要冒这么大风险把全部代码从py2换成py3。

所以这是一个py2和py3并存的市场环境。 我们很多学生虽然学的是py3,但是我建议,还是可以了解一下py2的东西。起码代码中出了什么问题,能第一时间反应,会解决。

以上是关于py2的地位被严重低估py2与py3的区别,初学者应该如何选择?的主要内容,如果未能解决你的问题,请参考以下文章

py2与py3区别总结

py2/py3区别, 列表生成式, 网络编程, socketserver, 线程, uuid模块

从 py2 到 py3 的字节行为变化

浅谈Python内置对象类型——数字篇(附py2和py3的区别之一)

浅谈Python内置对象类型——数字篇(附py2和py3的区别之一)

py3与py2的问题以及encode问题