Python 2 与 Python 3:2.x 和 3.x 之间的主要区别
什么是 Python 2?
Python 2 使代码开发过程比早期版本更容易。它实现了 Python 增强提案 (PEP) 的技术细节。Python 2.7(2.x 系列的最后一个版本)不再进行开发,并将于 2020 年停止支持。
什么是 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 3 | Python 2 |
---|---|---|
发布日期 | 2008 | 2000 |
print 函数 | print (“hello”) | print “hello” |
整数除法 | 当两个整数相除时,您会得到一个浮点值 | 当两个整数相除时,您总是提供整数值。 |
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 与 Python 3 的区别而言,Python 3 版本是明显的赢家。