我寻找答案,但很多答案都过时了。Python 3 是否已经更新以使其比 Python 2.7 更快,或者我最好坚持使用可行的代码?
我寻找答案,但很多答案都过时了。Python 3 是否已经更新以使其比 Python 2.7 更快,或者我最好坚持使用可行的代码?
这个问题与速度无关——它们的速度要么相同,要么Python 3.x更快(取决于您查看哪些基准测试)。更具体地说,Python 2曾经更快,但显然它们现在已经持平了(?)。请参见评论和幻灯片(向后翻)。
核心开发人员也在积极地优化Python 3——每个新版本的Python 3都比上一个版本更快。您可以通过监视python-dev邮件列表来了解有关优化Python的最新提议和想法(以及许多复杂性)。
相反,许多人以前不更新的原因是因为当Python 3发布时,在接下来的几年中,大多数Python库都没有更新以在Python 3.x上工作。然而,值得庆幸的是,今天这种情况已经得到了极大的改善——大多数第三方库现在都兼容Python 3。 Python FAQ包含更多信息。您还可以查看Python Wall of Superpowers或Py3 Readiness,以获取当前与Python 3兼容的流行Python库的概述。 更新:(2017年夏季) 我感到有些义务指出,对Python 2的支持将于2020年正式结束。许多第三方库也打算效仿 - 大量的科学生态系统(例如 matplotlib、pandas、ipython)计划在 2020 年之后停止支持 Python 2,Django也将停止支持……我不会惊讶如果其他库也这样做。
因此,如果你有兴趣确保你可以使用最新和最好的 Python 版本或你最喜欢的库,你应该尽早了解迁移到 Python 3。
以下是一些将 Python 2 转换为 3 代码的指南:
了解一下,这里有一个性能基准测试,比较Python 2.7和Python 3.3。Python 3.3更快。
Python 3.3 包含了一种优化 Unicode 字符串内存消耗的方法。如果更多字符串可以适应缓存,这可能会转化为更快的代码。
真正知道差别的唯一方法是在两者中对最关键的代码进行基准测试并查看差异。
使用Python3还是Python2取决于您的应用程序是否需要库。
pypy
JIT VM,可以为您带来重大的速度提升。不过你有什么问题呢?如果您已经有了与Python 2兼容的代码,您可以选择继续使用Python 2,或者通过一些代码更改转移到Python 3(除非有一些库在Python 3中无法获得)。 - wkl