我应该使用哪种Python?

时间:2010-06-25 21:53:30

标签: python

  

可能重复:
  Is it advisable to go with Python 3.1 for a beginner?
  What version of Python should I use if I’m a new to Python?

在Python中没有真正做过什么......我应该采用哪种Python? 2.X或3.X?

7 个答案:

答案 0 :(得分:7)

2.X仍然提供更多种类的第三方图书馆/框架,教学网站和书籍以及帮助您的专家 - 我预计这将持续几年,直到3.X逐渐超越它。因此,现在,我仍然会推荐2.X,尽管3.x具有更大的“清洁度”和简洁性(因为最后消除了2.x为了向后兼容而需要注意的一些瑕疵在3.x)。顺便说一下,很少有3.x的新功能不会在2.x中向后移植 - 例如,如果你希望print成为一个函数,就像你在2.6或2.7中的3.x一样模块,只需在模块的开头放置语句

from __future__ import print_function

“从未来导入”是一种典型的Python方法,可以在明确请求时使新功能可用,而不会破坏向后兼容性。

答案 1 :(得分:2)

你很幸运!由于很多人对这个人产生了混淆,过去几天我们整理了一个维基页面:Should I use Python 2 or 3?

答案 2 :(得分:1)

2.x的

相当一些模块还没有被移植到python 3,你会发现更多书籍,学习python 2.x的在线资源

您也不能依赖于预装的python 3,而对于大多数Linux发行版,您可以依赖某些版本的python 2可用。我所知道的唯一一个已经有python 3软件包的是最新的Fedora 13.如果这对你很重要取决于你的需求。

答案 3 :(得分:1)

我会说这取决于你要运行代码的位置。如果您完全控制环境,请使用3.x.如果您的环境是外部控制的(例如便宜的虚拟主机),那么您可能需要使用2.x.坚持2.x的唯一另一个原因是,如果一个你不能没有的关键库还没有被移植到3.x。如果可以避免使用2.x-isms,请不要使用新代码。

答案 4 :(得分:1)

另请参阅Python 3.0上的this related (though not identical) thread

虽然我认为3.x的情况比一年前更具吸引力,但它仍然没有2.x的第三方图书馆覆盖范围。我建议开发2.6并在最终到来时使用迁移实用程序(例如某些依赖是强制你)移动到3.x。

答案 5 :(得分:0)

如果您只是在学习Python(并且您没有需要完成的特定项目),我建议您从最新版本(3.x)开始。即使你从2.x开始,基础知识也是一样的,所以你将能够很快地学习3.x中的任何差异。

答案 6 :(得分:0)

使用2.x

我遇到了很多与库和Python 3.x的兼容性问题,虽然我不记得具体是哪些。我看到的具体问题与unicode字符串有关,我理解这是Python 3中的默认值。当使用unicode字符串时,库引发异常,并返回正常ASCII字符串的错误。这是大约6个月前,我认为从那以后支持没有大幅改善。

如果您完全确定不使用任何外部库,3.x可能不会咬你。作为折衷方案,您可以使用2.x并尝试避免3.x中的更改以使其兼容。