Python 2Vs。 Python 3:2.x 和 3.x 之间的主要区别

什么是 Python 2?

Python 2 使代码开发过程比早期版本更加简单。它实现了 Python 增强提案(PEP)。 Python 2.7(2.x 中的最后一个版本)不再开发,并将于 2020 年停止开发。

什么是 Python 3?

Python 3Python 编程语言 于 2008 年 XNUMX 月发布。此版本主要是为了修复 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 2Vs。 Python
谷歌趋势 Python 2 vs. Python 3

虽然, Python 2 是一个旧的开源版本,这里是你仍然需要学习的地方 Python 2:

  • 要成为一名 DevOps 工程师,您需要使用 puppet 或 ansible 等配置管理工具。在这里,您需要同时使用这两个版本。
  • 如果你公司的代码写成 Python 2,你需要学会如何处理
  • 如果你的开发团队正在开发一个依赖于特定第三方库或软件的项目,而你无法将其移植到 Python 然后是3 Python 2 是您唯一可用的选项。

你为什么要用 Python 3?

学习 Python 3

Stack Overflow 问题 Python 2 vs. Python 3

以下是使用 Python 3.x 版本:

  • Python 3 支持人工智能、机器学习和数据科学等现代技术
  • Python 3 得到了大量支持 Python 开发者社区。获得支持很容易。
  • 更容易学习 Python 语言与早期版本相比。
  • 提供强大的工具包和库
  • 可与其他语言混合

历史回顾 Python 2

  • Python 2.0 年 – 16 年 2000 月 XNUMX 日
  • Python 2.1 – 17年2001月XNUMX日
  • Python 2.2 – 21 年 2001 月 XNUMX 日
  • Python 2.3 年 – 29 年 2003 月 XNUMX 日
  • Python 2.4 – 30 月 2004 日, XNUMX
  • Python 2.5 – 19 年 2006 月 XNUMX 日
  • Python 2.6 年 – 1 年 2008 月 XNUMX 日
  • Python 2.7-3年2010月XNUMX日

历史回顾 Python 3

  • Python 3.0 – 3 年 2008 月 XNUMX 日
  • Python 3.1 – 27 年 2009 月 XNUMX 日
  • Python 3.2 – 20年2011月XNUMX日
  • Python 3.3 – 29 年 2012 月 XNUMX 日
  • Python 3.4-16 年 2014 月 XNUMX 日
  • Python 3.5 – 13 年 2015 月 XNUMX 日
  • Python 3.6-2016年XNUMX月
  • Python 3.7-2018年XNUMX月。

之间的主要区别 Python 2和 Python 3

以下是两者之间的主要区别 Python 2和 Python 3:

之间的区别 Python 2.x 和 Python 3.x

之间的区别 Python 2.x 和 Python 3.x

比较基础 Python 3 Python 2
发布日期 2008 2000
功能打印 打印(“你好”) 打印“你好”
整数除法 每当两个整数相除时,都会得到一个浮点值 当两个整数相除时,总是提供整数值。
统一 In Python 3、字符串默认存储是Unicode。 要存储 Unicode 字符串值,您需要用“u”定义它们。
句法 语法更简单,易于理解。 的语法 Python 2 比较难理解。
排序规则 比较 在此版本中,排序比较的规则已经得到简化。 排序比较的规则非常复杂。
迭代 引入新的 Range() 函数来执行迭代。 In Python 2、xrange()用于迭代。
例外 它应该用括号括起来。 它应该用符号括起来。
变量泄漏 变量的值永远不会改变。 在 for 循环中使用全局变量时,其值将会改变。
向后兼容 将 Python 2 移植到 Python 3 并不难,但它从来都不可靠。 Python 版本 3 不向后兼容 Python 2.
自学资料库 最近,许多开发人员正在创建只能使用 Python 3. 许多较旧的图书馆是为 Python 2 不向前兼容。

Python 2 vs. 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 年后将不再提供。 Python 3.采用是未来的明确方向。

在考虑拒绝支持 Python 2 编程语言以及升级到 Python 3,对于新开发人员来说,选择 Python 版本 3。但是,如果工作要求 Python 2 功能,这是使用此版本的唯一令人信服的理由。

总结

  • Python 2 使代码开发过程比早期版本更加简单。它实现了 Python 增强提案(PEP)。 Python 2.7(2.x 中的最后一个版本)不再开发,并将于 2020 年停止开发。
  • Python 3 是 Python 2008 年 XNUMX 月发布的编程语言。此版本主要是为了修复 Python 2. 这些变化的性质是 Python 3 与以下情况不相容 Python 2. 它不向后兼容。
  • In Python 2、简化了排序比较规则。
  • In Python 3、排序比较的规则非常复杂。
  • 当演变成 Python 今天比分是 2 比 3, Python 3 版本是绝对的赢家。