虽然它们之间有一些差异,但这些差异相当重要(主要是字符串 vs 字节)。
如果你想折腾一下,就用Python 3吧。如果你想完成任务,就用Python 2.(7)。目前支持Py3的库很少。
这真的取决于你想做什么。你需要的第三方库在Python 3中是否可用?
Python维基页面总结了一些其他差异。
在其发布后的前两年,py3k的库支持很差,但现在最重要的库(NumPy、SciPy和其他许多库)都有3.x兼容的稳定版本,其他人也都在努力实现这一点。2.x分支不会得到太多大更新,大多数人认为3.x具有许多优势。因此,除非您有特定的2.x代码库需要处理或者您确实需要JIT性能(Psyco、PyPy等),否则我建议您关注3.x。
关于过渡的有用文章在lwn上;虽然其中很多内容在这个阶段都是不必要的技术细节,但关于过渡过程的描述和评论是准确的。
我建议你现在就学习Python-3.x,特别是如果你计划以后开发应用程序。这两个版本并没有太大的区别,但正如Communist Duck所说,其中的一些小差异是非常重要的。
Python 3正在从“早期采用者的玩具”向“越来越多的主流支持”转移。因此,如果只是想试用一种新语言,我可能会选择它。不过,Python 2仍然拥有更广泛的支持。
但也有一些例外情况:如果你想在Python中使用Web框架(如Django),那么未来可见,它还是以Python 2为主。