python2和python有什么区别?
1的历史背景。Python2和Python3
Python诞生于90年代,现在已经是25岁的大叔语言了(还有一个1995发布的著名java,已经流行了几十年)。
但是Python真正出名比java晚了很多年,其实主要是因为应用领域的时代变迁。
Python2是Python非常重要的版本。最早的版本从2001开始,尤其是2006年py2.5发布以来。Python的功能逐渐强大,逐渐稳定,大约1-2年增加了一个版本,2008年左右逐渐流行起来。
Python3最早发布于2008年,但是py3.0版本非常不稳定,所以社区更新很快,几乎几个月一次。所以一开始用的人不多,直到2014春季python3.4 deliver才开始稳定。
我们来看一个数据。这是Python社区和一些网站在2014做的调查。关于Python2/3,一些结果如下:
1).97.51%用户还在写Python2代码。
2).60%的用户写Python3代码。
3).78.09%的用户写Python2代码比较多。
4).77.09%的用户认可Python3。
目前Linux中的一些操作系统已经默认使用Python3了:
1).轻量级Linux操作系统
2).Ubuntu 16.04(基于桌面应用的Linux操作系统)
3).Fedora(红帽桌面版的延续)
2.Python 2和Python3的主要区别在于:
最新的数据是Python有两个版本:2.7.12版和3.5.12版。
所以Python2运行良好。Python3为什么突然出来了?其实是为了解决Python2中的一些历史问题。
首先是弦的问题:
Python 2中的文本和二进制数据乱七八糟。Python中的str是表示二进制数据还是表示文本数据是不明确的,文本既可以表示文本数据,也可以表示二进制数据,很麻烦。当这样的错误发生时,我们很难意识到。
第二是对Unicode的支持。
Python是1991的2月发布的,也就是说Python早于1991的2月发布的第一个Unicode标准版本。在接下来的几年里,晚于Unicode标准出现的语言选择在支持Unicode编码的基础上实现自己的str类型,这让Python 2陷入了尴尬的境地。
目前python2/3并存,两个版本不兼容。
Python2现在只做bug修复、新硬件和操作系统兼容性相关的维护工作。不会添加新功能,python2只支持到2020年。
现在Python正在向版本3演进。在演进过程中,2.x版本的很多代码要修改后才能运行,所以目前很多第三方库在3.x版本上无法使用。
不过,你可以想象几年后情况会好很多。毕竟全世界有很多优秀的程序员在把一些库从Py2迁移到Py3。
3.根据自己的需求选择。
对于企业开发,为满足工作需要,特别是依赖的软件只能在Python2下运行,首选Python2。比如你的开发需要依赖大量的第三方库(因为学习Python的原因之一就是它有成千上万的第三方包),比如大量的数据分析和科学计算,所以选择Python2。
如果你自学学习,愿意拥抱变化,那么我建议学习Python3,因为这是未来的方向。
结论:
其实编程主要是对编程思路的理解和经验的积累。不要因为纠结学Py2还是Py3而浪费很多时间。
Py2和Py3里面的思路基本一致,招式也差不多。当你对Python熟悉到某个程序的时候,懂Py2的人学习Py3只需要很短的时间。
所以不要纠结于细节上的语法差异,耽误了宝贵的学习时间。
好了,关于Python2和Python3的恩怨就讲到这里了(他们会有一段时间互相爱杀)。希望能对初学者有所启发。有什么不明白的,也可以留言和我讨论交流。
最后,原创不易。希望大家能给我一些支持。欢迎转发留言,对我来说也是一点鼓励和动力。