Python 2 与 Python 3:Python 2.x 和 Python 3.x 有什么区别?
什么是 Python 2?
Python 2 使代码开发过程比早期版本更容易。它实现了 Python 增强提案 (PEP) 的技术细节。 Python 2.7(2.x 中的最后一个版本)不再处于开发阶段,将于 2020 年停产。
在本教程中,您将学习,
- 什么是 Python 2?
- 什么是 Python 3?
- 为什么要学习 Python 2?
- 为什么要使用 Python 3?
- Python 2 的历史
- Python 3 的历史
- Python 2 和 Python 3 有什么区别?
- Python 2 与 Python 3 示例代码
- 使用哪个 Python 版本?
什么是 Python 3?
Python 3 是 Python 编程语言的更新版本,于 2008 年 12 月发布。该版本主要是为了修复 Python 2 中存在的问题。这些变化的本质是 Python 3 与 Python 2 不兼容。它是 向后不兼容 .
Python 3 的一些特性已被向后移植到 Python 2.x 版本,以简化 Python 3 中的迁移过程。因此,对于任何使用 Python 2.x 版本的组织来说,将他们的项目迁移到 3.x 需要大量变化。这些变化不仅涉及项目和应用程序,还涉及构成 Python 生态系统一部分的所有库。
主要区别
- Python 3 的语法更简单且易于理解,而 Python 2 的语法则相对难以理解。
- Python 3 默认存储的字符串是 Unicode,而 Python 2 存储需要用“u”定义 Unicode 字符串值。
- Python 3 中的变量值永远不会改变,而在 Python 2 中,全局变量的值会在 for 循环中使用时改变。
- Python 3 异常应该用括号括起来,而 Python 2 异常应该用符号括起来。
- 简化了 Python 3 的排序比较规则,而 Python 2 的排序比较规则很复杂。
- Python 3 提供 Range() 函数来执行迭代,而在 Python 2 中,xrange() 用于迭代。
为什么要学习 Python 2?
虽然,Python 2 是一个旧的开源版本,但您仍然需要学习 Python 2:
- 要成为 DevOps 工程师,您需要使用 puppet 或 ansible 等配置管理工具。在这里,您需要同时使用这两个版本。
- 如果贵公司的代码是用 Python 2 编写的,则需要学习使用它
- 如果您的开发团队正在开发的项目依赖于您无法移植到 Python 3 的特定第三方库或软件,那么 Python 2 是您唯一可用的选择。
为什么要使用 Python 3?
以下是使用 Python 3.x 版本的主要原因:
- Python 3 支持 AI、机器学习和数据科学等现代技术
- Python 3 得到了一个大型 Python 开发者社区的支持。获得支持很容易。
- 与早期版本相比,它更容易学习 Python 语言。
- 提供强大的工具包和库
- 可与其他语言混合使用
Python 2 的历史
- Python 2.0 – 2000 年 10 月 16 日
- Python 2.1 – 2001 年 4 月 17 日
- Python 2.2 – 2001 年 12 月 21 日
- Python 2.3 - 2003 年 7 月 29 日
- Python 2.4 - 2004 年 11 月 30 日
- Python 2.5 - 2006 年 9 月 19 日
- Python 2.6 – 2008 年 10 月 1 日
- Python 2.7 - 2010 年 7 月 3 日
Python 3 的历史
- Python 3.0 - 2008 年 12 月 3 日
- Python 3.1 - 2009 年 6 月 27 日
- Python 3.2 - 2011 年 2 月 20 日
- Python 3.3 - 2012 年 9 月 29 日
- Python 3.4 - 2014 年 3 月 16 日
- Python 3.5 - 2015 年 9 月 13 日
- Python 3.6 - 2016 年 10 月
- Python 3.7 - 2018 年 6 月。
Python 2 和 Python 3 之间的主要区别
以下是 Python 2 和 Python 3 的主要区别:
<中心>
<图>Python 2.x 和 Python 3.x 的区别
图>
比较基础 | Python 3 | Python 2 |
---|---|---|
发布日期 | 2008 | 2000 |
函数打印 | 打印(“你好”) | 打印“你好” |
整数除法 | 当两个整数相除时,你得到一个浮点值 | 当两个整数相除时,总是提供整数值。 |
Unicode | 在 Python 3 中,字符串的默认存储是 Unicode。 | 要存储 Unicode 字符串值,您需要使用“u”来定义它们。 |
语法 | 语法更简单易懂。 | Python 2 的语法比较难理解。 |
排序比较规则 | 在此版本中,排序比较规则已被简化。 | 排序比较规则非常复杂。 |
迭代 | 为执行迭代而引入的新 Range() 函数。 | 在 Python 2 中,xrange() 用于迭代。 |
例外情况 | 应该用括号括起来。 | 应该用符号括起来。 |
变量泄露 | 变量的值永远不会改变。 | 在for循环中使用时全局变量的值会发生变化。 |
向后兼容性 | 将 python 2 移植到 python 3 并不难,但它永远不可靠。 | Python 版本 3 不向后兼容 Python 2。 |
库 | 许多最近的开发人员正在创建只能用于 Python 3 的库。 | 为 Python 2 创建的许多旧库不向前兼容。 |
Python 2 与 Python 3 示例代码
Python 3
def main(): print("Hello World!") if __name__== "__main__": main()
Python 2
def main(): print "Hello World!" if __name__== "__main__": main()
使用哪个 Python 版本?
当谈到今天 Python 2 与 Python 3 的差异时,Python 3 版本是绝对的赢家。这是因为 Python 2 将在 2020 年之后无法使用。Python 3 的大规模采用是未来的明确方向。
在考虑了对 Python 2 编程语言的支持下降以及升级到 Python 3 带来的额外好处之后,新开发人员始终建议选择 Python 版本 3。但是,如果工作需要 Python 2 功能,那将是唯一令人信服的理由使用这个版本。
总结
- Python 2 使代码开发过程比早期版本更容易。它实现了 Python 增强提案 (PEP) 的技术细节。 Python 2.7(2.x 中的最后一个版本)不再处于开发阶段,将于 2020 年停产。
- Python 3 是 Python 编程语言的更新版本,于 2008 年 12 月发布。该版本主要是为了修复 Python 2 中存在的问题。这些变化的本质是 Python 3 与 Python 2 不兼容. 向后不兼容。
- 在 Python 2 中,排序比较规则已得到简化。
- 在 Python 3 中,排序比较规则非常复杂。
- 当谈到今天的 Python 2 与 3 的差异时,Python 3 版本是绝对的赢家。
Python