我应该从Python 3.0开始吗?

12 投票
8 回答
2322 浏览
提问于 2025-04-15 13:21

最近我决定拓宽我的编程视野,学习Python这门编程语言。虽然我在大学上课时用过一点Python,也在工作中做过一两个项目,但我绝对不是专家。我的问题是:我还需要学习2.x版本吗,还是直接跳到3.0版本就好?我倾向于选择3.0,因为我主要是为了个人学习和使用来编程,但在开始之前,我想看看有没有什么反对的理由。

8 个回答

7

简短的回答:从Python 2.6开始。

为什么呢:编程会更有趣,也更有用,因为你可以利用别人已经做好的工作。这就意味着你会经常使用第三方库。很多流行的Python库还不支持3.x版本,比如PIL和NumPy/SciPy。还有我最喜欢的解释器ipython,目前也不支持3.0版本。许多单元测试框架和网页框架也还没有适配3.0。

所以如果你从3.x开始学习,很多资源就会对你关闭,至少在3.x的适配工作还没完全完成之前。虽然Python 3.x确实有很多不错的功能,但其中一些已经被移植到了2.6版本,还有一些会在2.7中出现。所以现在还是先用2.6,过一年再看看3.x的情况吧。

8

用3.1版本

为什么呢?

1) 因为只要大家还在用2.6版本,相关的库就没太多理由去更新到3.1版本。只要这些库还没迁移到3.1,你就只能选择不使用3.1的优点,或者用一些不太靠谱的方式来实现功能。要有前瞻性,帮助推动Python的发展。

2) 如果你现在学习和使用3.1,以后大规模更新完成时就不用重新学习了。我知道有些人说你不需要学太多,但为什么要学那些过时的东西呢?Python本身正在向3.1发展,库也会向3.1靠拢,等到你需要重新学习时,那种感觉可不好。

3) 3.1整体上是个更好的语言,比2.6更稳定、更一致……这很正常。2.6的经验教训都被用在了3.1上,让它变得更好。这就是进步的过程。所以现在还在用Windows 3.1的人不多了。这就是事物向前发展的方式。你觉得他们为什么要费劲去更新功能呢?

4) 如果你在学习Python,学了2.6版本,那么等你真正熟悉这门语言时,更新的版本已经出来了,你又得重新学习库和语言。如果你从3.1开始学,那么等你熟悉这门语言时,更新的版本也会出来,你就可以直接学习你感兴趣的库。这个过程会更顺畅。

5) 为了成为更好的开发者。 如果你总是要学习和重新学习同样的东西,你的理解就不会很深刻。通过一次性学习这门语言和它的库,你会有更多时间去实际使用它们,而不是重新学习语法。这样你能更好地理解它们。如果你觉得缺少某些库的功能?那就自己写吧。你可能不需要整个库,通常只需要写出你需要的部分,开发一些工具给自己用。这同样能帮助你更深入地理解这门语言。

20

绝对不要选择3.0版本,现在已经有3.1版本了,它在各方面都更稳定、更好、更快。如果你想学习3系列,毫无疑问应该选择3.1版本。

至于2.6和3.1的比较,3.1是更好的语言(特别是因为去掉了一些多年来积累的冗余内容,而这些内容在2.*中为了兼容性还得保留)。不过,整个生态系统(包括扩展、工具、书籍和大家的知识)现在还是更倾向于2.6。如果你不在乎使用某些图形界面或科学扩展,或者在App Engine上部署,或者用COM脚本控制Windows,或者使用一些很酷的第三方IDE,那么选择3.1是可以的。但如果你在意这些东西,现在还是选择2.*比较好。

撰写回答