适合Python 3.1用户的Web开发框架

10 投票
5 回答
1904 浏览
提问于 2025-04-15 21:09

我学习Python已经有一段时间了。在开始这个“学习Python”的旅程时,我决定学习最新的3.1版本。现在我有点后悔这个决定,因为我想尝试一些Python的网页开发框架,但看起来很多框架还不支持3.1版本,而且可能需要几年时间才能支持这个新版本,特别是DjangoTurboGears。这真的让我很失望。因此,StackOverflow的朋友们,你们有没有推荐一个可以在3.1上运行的网页框架,并且支持一些现代的(我想我可能永远学不会这些;-))网页框架特性,比如MVC、ORM、URL路由、缓存等等?

5 个回答

3

和其他人一样,我建议你从 Python 2.6.x 开始学习——虽然 Python 2.7 会在这个夏天发布,但你现在就可以下载一个测试版。

虽然 Python 3.x 和 2.x 之间不兼容,但 Python 的语法不会变得完全陌生……基本上,很多东西和 2.x 非常相似。不过,代码可能会因为 print 从一个语句变成一个函数而出错。所以现在不用担心 Python 3。正如其他人提到的,你可以立即开始使用很多适用于 Python 2.x 的网络框架。

另外,别因为版本号就觉得 Python 2 已经过时了,也不能按时间顺序来理解。换句话说,Python 2.7 比 Python 3.0 和 3.1 都要新。(3.2 要到今年年底才会发布。)再次强调,Python 2 并没有被淘汰——2.x 和 3.x 都在积极开发中。

在工业界,Python 2.x 仍然是主流;而 Python 3.x 的出现提醒我们下一代已经到来,现在是所有底层基础设施和框架开始迁移的时候,这样我们最终都能转向新版本。

如果你想了解更多关于 Python 2、Python 3 之间的关系,以及它们之间的变化和时间线,可以看看我今年早些时候写的这篇在线文章:

“Python 3:编程语言的演变”
http://www.informit.com/articles/article.aspx?p=1328795

我在 2010 年 2 月的 PyCon 会议上也做过关于这个主题的演讲。你可以在这里查看视频和幻灯片:
http://us.pycon.org/2010/conference/schedule/event/29/

5

你可以试试Python2.7。最近很多Python 3.x的功能都被移植到了2.7上,比如有序字典(OrderedDict)、更快的输入输出模块、集合推导式和字典推导式等等。

根据我的经验,Python 2.7在使用django 1.2的开发版本时完全没有问题。

我觉得学习一个新的框架所花的时间会比从Python 2.x切换到Python 3.x要多。所以,先选择一个框架,继续使用Python 2.x,等到时候再切换到3.x就可以了。

1

Python 2.6和Python 3.1其实差别并不大,我建议你两个都学,特别是因为这两个版本会同时存在一段时间……所以最好还是了解一下它们之间的小区别。文档“Python 3.0的新特性”解释了2.6和3.0之间的大部分区别。

撰写回答