【发布时间】:2008-12-05 21:41:22
【问题描述】:
我对 python 非常陌生,不到一个月前就开始学习它,但对其他一些编程语言(主要是 C# 和 SQL)有一定的经验。但是既然 Python 3.0 已经发布并且不能向后兼容,那么决定专注于 Python 3.0 还是 Python 2.6 会有什么优缺点呢?
【问题讨论】:
标签: python python-3.x
我对 python 非常陌生,不到一个月前就开始学习它,但对其他一些编程语言(主要是 C# 和 SQL)有一定的经验。但是既然 Python 3.0 已经发布并且不能向后兼容,那么决定专注于 Python 3.0 还是 Python 2.6 会有什么优缺点呢?
【问题讨论】:
标签: python python-3.x
使用 2.6,因为这是大多数库(pygame、wxpython、django 等)的目标。
3.0 的差异并没有那么大,所以以后过渡到它应该不是什么大问题。
【讨论】:
由于它们不兼容,我建议您开始使用 Python 3.0,无论如何它在将来会更有用。这是一种更好的语言。您可以在其网站上的 What's new 页面中看到确切的差异。
【讨论】:
我会说从 2.6 开始,因为关于 Python 的绝大多数文档都将适用于 2.6,而且您可能想要贡献的大多数开源项目将在 2.6 中出现一段时间。那么,一旦你在 2.6 打好基础,就可以学习 3.0。这样您就可以体会到语言是如何演变的,以及代码的“美学”从何而来。
【讨论】:
从 2.6 开始,当您对该语言更加熟练时(编写了几千行代码),过渡到 3.0 将变得容易和自然。在学习过程中,我建议你忽略经典类,特别注意迭代器、生成器和列表推导。
【讨论】:
这取决于你愿意做什么。
Python 3.0 是较新的版本,随着时间的推移应该会成为标准。 但是,它几乎没有可用的库或框架,甚至工具也不是最新的(例如 Python 的 Eclipse 插件仍处于迁移阶段)。
另一方面,两者并没有太大的区别,一旦你学会了一个,就很容易转向另一个。
因此,如果您只是想玩玩,可以选择 3.0。 如果您打算在新项目中使用它,我会坚持使用旧版本。
【讨论】:
不过要小心。 mysql驱动等库还在2.5中
【讨论】:
如果您从找工作的角度来看,我肯定至少也会学习 2.x。我工作的代码仍然以 python 2.4 为目标,据我所知,甚至没有计划迁移到 2.6,更不用说在不久的将来 3.0。未来几年将会有大量的 2.x python 代码出现,绝大多数 python 工作将涉及使用该代码。
所以我会从学习 python 2.6 开始,同时一直关注 3.0,这样你至少知道你的 2.x 代码的哪些部分在 3.0 中不起作用
【讨论】: