2010-07-15 93 views
7

既然有一个python 3.x,为什么我们不使用它?
为什么我们仍然使用2.x?
有什么区别?python 2.x or 3.x

回答

14

已编写Python 2.6和2.7以简化向Python 3的过渡。 移植更复杂的软件包(即具有许多依赖关系的库或用C语言编写的库)需要一些时间。

所以如果你正在开始新的项目,并且你需要的所有库都在那里,那么从3.1开始就是有意义的。其中一个更受欢迎的变化是默认处理Unicode字符串 - 它将防止大量的错误。

但是,如果您要将完整的ERP应用程序(或2.6到3.x的任何大型应用程序)移植到其中,那么现在可能是一场流血事件。举例来说,unicode变化是2.x - > 3.x中最难应用的,而低级C API也发生了很大变化。

8

由于3.x不能与2.x向后兼容,因此很多应用程序和库都是为2.x系列编写的。 3.x是他们试图清理所有在Python中从来不应该出现的问题......并且他们不得不做出一些突破性的改变。现在可能最好坚持使用2.x,直到3.x获得更多的人气。

+2

是的,我认为让很多人回来的主要原因是缺少很多流行库的Python 3版本。 – 2010-07-15 07:46:46

2

因为很多库都尚未移植到3.x我猜...而且由于许多应用仍然在2.X

5

如果你正在编写一个新的应用程序,运行,不依赖对没有3.x支持的图书馆,我建议你去3.x.让我们来创建一些临界质量:)

看看在python 3 documentation本身