在 Python 3 出现之前,Python 在我眼里一直都是一位稳重扎实的大叔,资历深厚,语法简单,功能强大,兼顾面向对象和函数式编程,库包丰富程度也让其他语言转过来的程序员瞠目结舌并喟叹:人生苦短,要用 Python 啊……这种情况一直持续到 Python 3 的出现。
一种语言版本的升级是极为普通且常见的事情,不升级才算的上不正常,但是Python 3 算的上是一个例外,因为 Python 3 放弃了向下兼容,也就是说,你在 Python 2 系列版本中写的代码,一直好好的运行着,只要放到 3 的环境里,就有 99% 的可能性不能正常运行了。最简单的,你在 Python 2 中打印语句print “Hello World”,放到 Python 3 里,系统会告诉你「SyntaxError: Missing parentheses in call to ‘print’」。刺激不刺激?
Python 的开发者这么做是为什么呢,或者说Python 3为什么会出现呢?在很长的一段时间之内,没有人出来解释这件事,Python 的创造者们认为,这不是很显然易见的嘛。这就好比一个有着超高幽默感的人就算是听到了一个冷笑话也能乐得前仰后合哈哈大笑,另一个人 —— 比如普通开发者 —— 却把一颗冰凉的花生米放嘴里边嚼边问,哥们,你特么到底在笑啥呢?
Python 3为什么会存在呢?Brett Cannon —— Python 的核心开发者 —— 在一次问答活动中终于给出了一个合理的解释