Python 2.6还是Python 3.1?

6

我即将开始学习Python,想知道应该学习哪个版本,Python 2.6还是3.1?(欢迎分享学习Python的技巧=)


编辑:这两个版本之间的区别真的很大吗?如果我学习了Python 2,会不会在学习Python 3时遇到麻烦?


4
我今年夏天开始学习Python 3。从此没有回头过! - Khaled Alshaya
一些有用的相关答案:http://stackoverflow.com/questions/533510/whos-using-python-3-0 - ire_and_curses
这里最受欢迎的答案已经过时了。请查看我的答案 - Honest Abe
8个回答

15
  • 如果您想立即开发软件,请使用Python 2.6。
  • 如果您想学习这门语言并进行实验,请使用Python 3.1。

Python 3.1目前还没有像Python 2.6一样完善的库支持,因此在处理现有软件项目时会遇到困难。如果您现在不必立即生产出可工作的产品,建议尝试使用Python 3.1。最好的起点当然是Clint提到的《Dive Into Python 3》。祝好运!

更新于2011年2月27日:我认为对Python 3的支持不断改进,您可能需要检查并了解是否可以使用Python 3完成您的项目。有一个网站专门跟踪Python 3的支持情况:http://getpython3.net/


我只打算做作业,可能会在Python上进行一些实验。所以我想我会使用Python 3。 - user176121
1
不一定。如果你做任何自然语言处理的作业,NLTK还没有移植到Python 3。 - Calyth
现在是2010年8月,这个情况是否仍然正确,或者3.1是否有更好的库支持? - Casey
在尝试了Python之后,我实际上使用了2.x版本。有太多有用的模块可供使用。 - user176121

10

我建议选用2.6版本,原因如下:

  1. 有更多基于2.6版本的资料(书籍、示例等)。在3.x版本下可能会出现一些问题,并且你可以购买到二手2.4-6版本的书籍。

  2. 你大多数需要使用的库仍然针对2.6版本。这种情况将来会发生变化,但2.6版本的支持不会立即消失。与此相关的Linux发行版也计划在至少一年内不移除Python 2.6,所以你是安全的!


5
你真的应该选择较新的版本。Python 2.6和其他发布的2.x版本主要用于兼容性。然而,如果你想立即使用Django这样的框架,这种说法就不正确了,因为它目前与3.x系列不兼容。
学习Python的一个提示?只需开始使用它,并找到在线文档。我认为这是一门易于掌握(并且很棒)的语言。

7
这并不正确。Python官网本身推荐使用2.6版本。如果你查看下载页面,会发现上面写着:“如果你不知道该用哪个版本,从Python 2.6.3开始。” - nosklo
1
他们推荐什么并不重要,关键是这里正在询问,因此可以获取更多信息,以便他们不必盲目地遵循那些建议。 - AlbertoPL
1
那么这句话怎么会是不正确的呢?这句话可能是正确的,而且仍然是官方推荐使用的版本。它们在任何情况下都不相互矛盾。 - AlbertoPL
1
不,这并不是显而易见的。官方推荐使用2.6版本是因为它与其他现有代码库以及文档的兼容性较高。Python开发人员正在发布2.x版本和3.x版本。那么请告诉我,2.6版本的推荐如何与未来2.x版本的兼容性保持矛盾呢? - AlbertoPL
我认为直接学习3.1没有问题,因为他谈论的是学习语言而不是将其用作解决方案。任何基础的作业都不太可能受到其他框架和库支持的影响。 - AlbertoPL
显示剩余4条评论

5

今天您需要选择2.6版本。

为什么呢?因为3.1版本还没有库支持。我们刚刚将setuptools(以Distribute的名义)移植到了Python 3,所以希望在接下来的一年里,Python 3 的库支持会有大幅提升,但现在还没有达到这个程度。

而且切换也不是很困难。这并不像某些 Python 批评家声称的那样是完全不同的语言。所以如果您从 Python 3 开始,也不会有太大的灾难。问题只是目前在 Python 3 上要实际地提高工作效率还比较困难。因此请选择2.6版本吧。


4
如果您想学习Python:http://diveintopython3.org/是一本非常好的教程,全书可以免费在线阅读或购买纸质版。它是一份介绍这种编程语言的杰出教程和引导。

0

截至2019年,除非你正在使用要求使用Python 2的项目,否则你学习它的唯一原因是为了理解Python的演变。这可以让您对编程语言开发有一些见解。您可以通过阅读Python 3.0发布说明随后的发布说明或阅读有关差异的更现代文章来了解差异。

然而,你不会在此时使用Python 2来启动新项目,并且尝试维护它已经变得不再具有生产力。2020年1月1日后Python 2将不再接受官方支持;且许多流行的第三方项目将在那时放弃对它的支持。

Python已经有20多年的历史了(截至2011年11月9日),Guido和社区在这些年里学到了很多东西。Guido最初对Python 3的构想是主要为了消除前几个版本中出现的缺陷而对语言进行改进。

...

由于维护多个Python版本对Python开发人员的资源造成了重大负担,并且Python 3所体现的语言和库的改进非常重要,因此决定以Python 2.7结束Python 2系列。

PEP 404 -- Python 2.8 Un-release Schedule

还请参阅When did Python 3 become the obvious choice for new projects?


0
关于学习Python的技巧,我建议先完成主要教程(http://docs.python.org/3.1/tutorial/),然后再深入探索初学者指南。如果你更喜欢使用书籍,O'Reilly的《学习Python》是一个不错的选择。

-1

如果你想使用已经用C/C++编写的现有库和模块,或者使用SWIG,那么你必须使用python2,否则我真的看不出有什么理由坚持使用python2。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接