Python 3.x 是 Python 2.x 的重新设计版本,主要区别包括:
字符串编码
Python 3.x 中字符串默认是 Unicode 编码,而 Python 2.x 中默认是 ASCII 编码。
print 函数
Python 3.x 中 `print` 变成了一个函数,需要使用括号,例如 `print("Hello, World!")`。
整数除法
Python 3.x 中使用 `/` 进行除法会得到浮点数结果,与 Python 2.x 不同,后者使用 `/` 进行除法会得到整数结果。
range 函数
Python 3.x 中 `range` 函数返回一个迭代器,而 Python 2.x 中返回一个列表。
类型提示
Python 3.5 引入了类型提示,Python 3.7 进一步优化了字典的内存使用,并引入了新的特性如数据类和格式化字符串字面值。
异步编程
Python 3.5 引入了 `async` 和 `await` 关键字以支持异步编程。
其他特性
Python 3.8 引入了 `:=`(walrus operator)和位置参数仅限于位置参数之后的机制。
Python 3.9 引入了类型提示的一些新功能。
Python 3.x 在设计上考虑了向后兼容性,但移除了一些在 Python 2.x 中可能引起混淆的表达方式,使得 Python 3.x 的使用者可以轻松阅读 Python 2.x 编写的代码。