2019年python学3还是2

在过去几年,在编程社区里有大量关于到底哪一个python版本才是最值得去学的讨论:是python2还是python3(特别是python2.7与python3.5)。进入2019年,很显然python3已经是赢家,深受大量初学者的欢迎。在这里小编带你看看python2与python3之间的一些主要诧异?

Python2和Python3的发展历史

先从一个简短的python发布时间轴开始:

·2000年 Python2.0发布

·2008年 Python3.0发布

·2010年 Python2.7发布

·2019年3月4日 Python2.7.15 (最新版本)

·2019年3月25日 Python3.7.3 (最新版本)

·尽管Python2.7仍然广泛使用,但是Python3的应用正在迅速增长。在2016年有71.9%的项目使用Python2.7, 但是到了2017年它降到63.7%。这表明编程社区正在转向Python3。

·值得注意的是,Python2将在2020年元旦正式停止官方支持。

·从过去的2018年更新频率看,Python3发布了从3.5.5到3.7.2近10个版本,而Python2 只更新了2.7.15一个版本。

相关推荐:《Python基础教程》

Python2和Python3主要差异

在编程风格上Python2和Python3有大量差异,这里列举五个重要方面说明:

(1)Python2是过去,Python3是未来由于在过去10几年时间里Python2是最受欢迎的版本,所以在大部分软件公司中仍然大量存在。但是由于越来越多公司开始从Python2迁移到3,因此初学者可能希望避免花时间在一个已经过时的版本上。

(2)Python2和Python3有一些互相不兼容的库由于Python3代表未来,如今很多开发人员严格用Python3开发一些库,许多老的基于Python2的老开发包是不向前兼容的。你可以将2.x库移植到3.x,但这对于初学者来说可能是比较困难和复杂的。

(3)Python3有更好的Unicode编码支持在Python3语法中,默认情况下文本字符串是Unicode, 在Python2中,字符串默认存储为ASCII, 如果要在Python2.X中将字符串存储为Unicode, 则必须加"u"。

str = "中国" # python3写法

str = u"中国" # python2写法

这一个变化十分重要,因为Unicode比ASCII更加通用,Unicode字符串可以存储外语字母、罗马数字和数字、符号和标签符号等,可以为你提供更多的选择。

(4)Python3改进了整数除法在Python2中,如果你在小数点后面写一个没有任何数的数字,它会将你的计算向下舍入到最接近的整数。例如,如果你要计算5除以2,深入5/2,则由于四舍五入,结果将为2,你必须把他写成5.0/2.0才能得到预期2.5的答案。但是,在Python3中,表达式5/2得到2.5的预期结果,不必要担心四舍五入的问题。

print(5/2) # 输出2, Python2

print(5.0/2.0) # 输出2.5, Python2

print(5/2) # 输出2.5, Python3

print(5.0/2.0) # 输出2.5, Python3

(5)两个版本有不同的打印语句声明语法这只是一种语法差异,有些人可能认为它很简单,所以不会影响Python的功能,也就是说,你应该知道它仍然是一个巨大明显的差异。本质上说,Python3中,print语句已经被print()替代。如果你第一次编程这对你影响不大,如果你之前一直是Python2, 这可能在一段时间里会很不习惯。

print "hello world" # Python2打印方法

print("hello world") # Python3打印方法

为什么很多公司向python3迁移

正如前面讲的,由于遗留原因,大多数公司仍在使用Python2, 但是越来越多的公司正在使用Python3, 或者开始从2到3进行切换。接下来从Instagram为什么Python2从迁移到3来说明。

每个较新版本的Python都在持续优化来获得更快的运行时间。 但是,没有人正在努力使Python2.7更快地运行。

作为一个初学者,我该如何选择

这其实是一个很简单的问题,学习最新的版本就可以(3.7), Python3中的一些改进实际上使初学者更容易理解,因此这是初学者学习Python的最佳方式。请记住,2020年之后将不再支持Python2.7,因此在这一点上专心致力于学习它对大多数人来说都没有意义。

什么时候学习python2有意义?

以下是你可能需要了解Python2的一些情况:

如果你想成为DevOps工程师并使用Fabric或Ansible等配置管理工具,你可能必须同时使用Python2和3(因为这些库的某些部分没有完整的Python3支持)。

如果您的公司拥有用Python 2编写的遗留代码,那么你需要学会使用它。

如果您的项目依赖于某些无法移植到Python3的第三方软件或库,你将别无选择,只能使用Python2。

幸运的是,无论你从哪个版本开始,如果需要,将你的知识转移到另一个版本将相当容易。

总结

Python3是明显的赢家。 由于Python2将在2020年逐步淘汰,因此大规模采用Python3是明确的未来发展方向。对于初学者来说,从Python开始 - 特别是Python3 - 是快速学习编程的好方法。 它是一种多样化和直观的语言。此外,Python也是人工智能领域最受欢迎的开发语言,因此如果你学习Python3,你可能会发现你的职业前景比以往更加光明。

以上是 2019年python学3还是2 的全部内容, 来源链接: utcz.com/z/537314.html

回到顶部