Python 2 还是 Python 3?我应该从哪一个开始学习?

10

我发现了两个 "重复的" 问题,但考虑到它们已经两年了,我想看一下一个更近期的观点可能是个好主意。

我想学习 Python ,但我不知道是否应该从 Python 3 开始,因为它更新,还是应该从 Python 2 开始?

我有 C#, Java, PHP 和 HTML/CSS 的背景,所以我知道程序设计的一般细节。我想把另一种编程语言添加到那个列表中作为一种有趣的练习和学习体验。

5个回答

12

虽然它们之间有一些差异,但这些差异相当重要(主要是字符串 vs 字节)。

如果你想折腾一下,就用Python 3吧。如果你想完成任务,就用Python 2.(7)。目前支持Py3的库很少。


2
如果你想开始一个项目,可能需要与Python 3不兼容的库。但是,如果你学会了Python 3,回到Python 2也不应该很难。希望在你掌握Python 3的时候,更多的库会支持它。(从2到3也不应该很难,但如果你刚开始学习,最好学习最新的版本。) - Mitch Lindgren
Mitch的评论很有帮助。我最初尝试了Py3,因为它是全新的,但发现缺乏库支持非常令人烦恼,所以我又回到了原来的版本。 - PrettyPrincessKitty FS
2
请记住,尚未移植的这些库是第三方库。完整的标准库在3.x中可用。 - Tom Zych
跟进回复,我已经成功学习了Py3的一般语法和基本数据类型。我缺少一个项目(+高级主题)来继续我的学习。 :/ - Zack

5

4

在其发布后的前两年,py3k的库支持很差,但现在最重要的库(NumPy、SciPy和其他许多库)都有3.x兼容的稳定版本,其他人也都在努力实现这一点。2.x分支不会得到太多大更新,大多数人认为3.x具有许多优势。因此,除非您有特定的2.x代码库需要处理或者您确实需要JIT性能(Psyco、PyPy等),否则我建议您关注3.x。

关于过渡的有用文章在lwn上;虽然其中很多内容在这个阶段都是不必要的技术细节,但关于过渡过程的描述和评论是准确的。


2

我建议你现在就学习Python-3.x,特别是如果你计划以后开发应用程序。这两个版本并没有太大的区别,但正如Communist Duck所说,其中的一些小差异是非常重要的。


1

Python 3正在从“早期采用者的玩具”向“越来越多的主流支持”转移。因此,如果只是想试用一种新语言,我可能会选择它。不过,Python 2仍然拥有更广泛的支持。

但也有一些例外情况:如果你想在Python中使用Web框架(如Django),那么未来可见,它还是以Python 2为主。


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