Python有多少个版本?不同Python版本之间有什么区别?我应该选择哪一个?

简介: Python有多少个版本?不同Python版本之间有什么区别?我应该选择哪一个?

很多同学学习Python的时候,都会遇到一个问题:


Python有多少个版本?每个版本之间有什么区别?我应该选择哪个Python版本进行学习 or 开发?


最近专门写了本篇文章,给大家分享一下Python各个版本的区别。


01

Python是怎么来的?


来自现在谷歌工作的荷兰人


分享Python的版本之前,先简短的带大家了解一下Python的历史。


1989年,从阿姆斯特丹大学硕士毕业的荷兰人Guido von Rossum在家里过圣诞节的时候,为了简化计算机编程的难度,开始开发一款新的语言。


1991年,第一个Python编译器诞生,它是用C语言实现的。Python这个名字来自于Guido所挚爱的电视剧Monty Python's Flying Circus (BBC1960-1970年代播放的室内情景幽默剧,以当时的英国生活为素材)。


他希望这个新的叫做Python的语言,能实现他的理念(一种C和shell之间,功能全面,易学易用,可拓展的语言)。


Python将许多机器层面上的细节隐藏,交给编译器处理,并凸显出逻辑层面的编程思考。


Python程序员可以花更多的时间用于思考程序的逻辑,而不是具体的实现细节 (Guido有一件T恤,写着:人生苦短,我用Python)。这一特征吸引了广大的程序员,Python开始流行。



02

Python2.7及以前的版本


已经被淘汰了

微信图片_20220429150402.png

图片来源:Python1.1~1.6下载地址 - https://www.python.org/download/releases/


在Python1.5.2版本之前,Python官网只提供源代码的下载,没有对外发布的可用安装包。


熟悉Python的同学,可能最早接触的Python版本是Python2.7。


· Python2.7下载地址:https://www.python.org/downloads/release/python-2718/


Python2.7也是Python第一个流行的版本,至于之前的版本为什么不流行,因为太难用了!


举个例子你感受一下:


Python一个最大的特点,就体现在它有丰富的第三方库,使用pip命令就可以轻松获取。Python2.7及其以后的版本,pip是已经集成在Python安装包里的,安装好Python就可以使用了。而在Python2.6中,下载标准库的工具pip,竟然需要在安装好Python后,额外去手动下载!


另外,从 2020 年 1 月 1 日开始,Python 2.7 将不再得到正式支持。

微信图片_20220429150454.png

如果你对2和3这2个版本的技术细节变化感兴趣,这里给大家准备了一篇国外技术大神写的文章《为什么要有Python3?》:https://snarky.ca/why-python-3-exists/


目前比较稳定且流行的Python3.x版本有:3.5-3.10。


它们的下载地址分别是:


· 3.5:https://www.python.org/downloads/release/python-3510/

· 3.6:https://www.python.org/downloads/release/python-3615/

· 3.7:https://www.python.org/downloads/release/python-3712/

· 3.8:https://www.python.org/downloads/release/python-3812/

· 3.9:https://www.python.org/downloads/release/python-399/

· 3.10:https://www.python.org/downloads/release/python-3101/




03

Python3.X时代


重大的改进


Python3和Python2,因为某些特殊的原因,是兼容性非常低的一次大的版本升级。作为新人你必须要知道,绝大多数Python2的代码,没法在Python3的环境里运行!反之亦然。


04

怎么选?


超安全的建议


通常情况下,新版本包含对旧版本的修复和改进,但是新版本又可能产生意想不到的新问题,怎么选呢?


其实Python官网已经给我们答案了,如下图方框和箭头所示。截止写作时间2022年2月15日,3.9和3.10版本都处在Bugfix(问题修复)阶段,3.7和3.8处在Security(安全运行)阶段。


微信图片_20220429150551.png查看此图的链接:https://www.python.org/downloads/


所以如果你是初学者,建议直接选择安全稳定的3.8版本;等未来3.9和3.10陆续由Bugfix变为Security,再进行最新版本的升级和使用。


相关文章
|
3天前
|
开发者 索引 Python
【Python 基础】remove、del和pop有什么区别?
【5月更文挑战第8天】【Python 基础】remove、del和pop有什么区别?
|
3天前
|
API 开发者 Docker
python中版本不兼容问题
【5月更文挑战第3天】python中版本不兼容问题
14 2
|
5天前
|
存储 Python
【Python 基础】“func”和“ func()”有什么区别?
【5月更文挑战第6天】【Python 基础】“func”和“ func()”有什么区别?
|
5天前
|
Python
【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
【5月更文挑战第6天】【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
|
5天前
|
Python
【Python 基础】“is”和“==”有什么区别?
【5月更文挑战第6天】【Python 基础】“is”和“==”有什么区别?
|
5天前
|
Python
【Python 基础】列表(list)和元组(tuple)有什么区别?
【5月更文挑战第6天】【Python 基础】列表(list)和元组(tuple)有什么区别?
|
11天前
|
Python
conda升级python版本
conda升级python版本
|
15天前
|
开发者 Python
six,一个神奇的 Python 版本兼容工具库!
six,一个神奇的 Python 版本兼容工具库!
24 4
|
15天前
|
Ubuntu Python
ubuntu升级Python版本
现在,你已成功升级了Python版本并可以使用新版本进行开发和运行程序。
31 1
|
16天前
|
Python
在Python Web开发过程中:`is`和`==`在Python中的区别是什么?
【4月更文挑战第25天】Python的`is`与`==`用于比较。`is`检查对象是否相同(内存地址一致),而`==`检查值是否相等。例如,`a = [1, 2, 3]`,`b = a`,`c = [1, 2, 3]`,则`a is b`和`a == b`均为True,但`a is c`为False,`a == c`为True,因`a`和`b`引用同一对象,而`a`和`c`值虽等但对象不同。
12 1