Python 版本之改变——Python2.x和Python3.x

  • Python的历史

1989年圣诞节:Guido von Rossum开始写Python语言的编译器。

1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面),可以调用C语言的库函数。在最早的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,还有对列表、字典等核心数据类型,同时支持以模块为基础来构造应用程序。

1994年1月:Python 1.0正式发布。

2000年10月16日:Python 2.0发布,增加了完整的垃圾回收,提供了对Unicode的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。

2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。

2020年3月10号最高最新版本Python3.8.2发布

2020年1月1日,正式停止对Python2.7版本的维护,但在四月将发布最后一个Python2.7的版本

北京时间 2020 年 4 月 20 日 23 点 06 分,Python 2 维护者兼发布经理本杰明·彼得森(Benjamin Peterson)在邮件组中正式声明,Python 2.7.18 正式发布,并且这将是 Python 2 的最后一个版本。

  • Python的版本号问题  

例如,Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。

比较特殊的版本,Python2.6 Python2.7

为什么要单独说下这两个版本呢?因为这两个版本是Python2.x和Python3.x两个大版本之间的过渡版本,Python3.x的很多函数,库,功能这两个版本都有所支持,但仍然区别较大。还因为这两个版本是Linux所支持的版本,也就是在Linux中自带Python2.x版本,其中,Redhat版本Linux的yum模块基于Python2.x的环境支持。因此,这两个版本对于Python来说,意义非凡。

  • Python2与Python3的选择

因为 Python 3 与 Python 2 的向后兼容性很低,尤其是与 Unicode 相关的问题成为了瓶颈,所以之间的过渡并不容易。因此,Python 软件基金会原定于 2015 年对 Python 2 终止服务的计划,延期到了 2020 年。

如今,Python 2 中主要的库已完成向 Python 3 的过渡,Python 2 也就逐渐进入被放弃的阶段。

在今年的 1 月 1 日,Python 2.7 就已正式停止维护,但消息发布时也告知了还有最后一个版本尚未发布。随着此次最终版本的正式发布,Python 2 也划上了完美的句号。

由于早期的 Python版本在基础方面设计存在着一些不足之处。2008 年的时候 Guido van Rossum 又重新开发 Python 3.0(被称为Python 3000,或简称Py3k),Python3在设计的时候很好地解决了这些遗留问题, 并且在性能上也有了一定的提升, 然而 Python3 带来的最大的问题就是不完全向后兼容,当时向后兼容的版本是Python2.6以及2.7。Python开发团队无法一下子就让所有项目和类库都转到 Python3.0 上面。 所以,两个版本就进入了长期并行开发和维护的状态。但是就更新速度来说 ,Python3更新速度远快于Python2的速度,因为Python2目前主要以维护为主。Python3是未来的趋势,建议新手直接上手Python3。

 

Python 版本之改变——Python2.x和Python3.x

 

化石级别的版本应该也就Python2.0.1了,发布于2001年6月22,官方网站没有发现Python1.x版本。

Python的官方网站下载页面,

https://www.python.org/downloads/

十分齐全的第三方库提供网站:

https://www.lfd.uci.edu/~gohlke/pythonlibs/

Python2.x到Python3.x过渡的使用说明文档,全英文的,感兴趣的可以看看,学习下。

https://docs.python.org/2/library/2to3.html

相关文章: