为什么会有 Python 3 的存在?
看看python的核心开发者,是怎么解释这个问题的:
1.Guido 在1989年12月开始编写 Python,在1991年2月开源发布。这意味着它早于在1991年10月发布的第一版 Unicode 标准。所以python2其实是没有很好的支持Unicode的。
2.例如:‘abcd’在python2中,你会说它是一个按照 “a”、”b”、”c”、”d”顺序包含四个字母的字符串,你也可以说它是代表 97、98、99、100 的数组。事实上在 Python 2中对于 str 代表的含义有两种正确的回答,这改变了语言的初衷。
1.Guido 在1989年12月开始编写 Python,在1991年2月开源发布。这意味着它早于在1991年10月发布的第一版 Unicode 标准。所以python2其实是没有很好的支持Unicode的。
2.例如:‘abcd’在python2中,你会说它是一个按照 “a”、”b”、”c”、”d”顺序包含四个字母的字符串,你也可以说它是代表 97、98、99、100 的数组。事实上在 Python 2中对于 str 代表的含义有两种正确的回答,这改变了语言的初衷。
3.python2中很多 bug 都是由于对 str 类型超负荷的使用。所以在 Python 3 中通过将文本数据和二进制数据分离来修正它。它也促使所有的文本信息都支持 Unicode,从而使得工程更容易在多种语言下工作。