我是一位经验丰富的Perl开发人员,拥有一定程度的经验和/或熟悉其他语言(使用C / C ++的工作经验,学习Java和Scheme的经验,以及熟悉其他语言)。
我可能需要在Python中完成一些网络工作(最直接的,与Google App Engine相关)。因此,我想问一下如何最好地学习如何为来自Perl背景的人学习Python(例如,重点是两者之间的差异以及如何将perl idiomatics翻译成Python惯用语,而不是如此通用Python参考)。以Web开发为中心的东西甚至更好。 我会拿任何东西 - 文章,教程,书籍,样本应用程序?
谢谢!
答案 0 :(得分:63)
由于工作原因,我最近不得不进行类似的转换,而且非常痛苦。无论好坏,Python与Perl有着截然不同的理念和工作方式,并且习惯这种做法可能令人沮丧。我发现最有用的东西是
use strict
你会感到瘫痪,你会犯许多基本错误,这些错误将显示为运行时错误。我建议使用nose而不是核心安装附带的unittest框架。如果你习惯Test::More,则unittest非常详细。就个人而言,我发现Dive Into Python令人烦恼和光顾,但它可以在网上免费获得,所以你可以对此做出自己的判断。
答案 1 :(得分:14)
如果您恰好是The Perl Cookbook的粉丝,您可能有兴趣查看PLEAC, the Programming Language Examples Alike Cookbook,特别是the section that shows the Perl Cookbook code translated into Python。
答案 2 :(得分:8)
作为一名核心Perl程序员,我只能说不要购买 O'Reilly的“学习Python”。它远没有“学习Perl”那么好,而且我对拉里·沃尔的“Programming Perl”没有相同的知识,这是无与伦比的。
我最成功地通过Perl程序并将它们转换为Python,尝试尽可能多地利用新技术。
答案 3 :(得分:4)
查看official tutorial,这实际上非常不错。如果您对Web开发感兴趣,那么您应该准备好直接进入您将要使用的Web框架的文档; Python有很多可供选择,zope,cherrypy,pylons和werkzeug都有很好的声誉。
我不会尝试搜索专门用于帮助您从Perl过渡的内容,这些内容的质量不会高于对更多人有用的参考。
答案 4 :(得分:3)
答案 5 :(得分:2)
答案 6 :(得分:2)
如果你所看到的是简洁,简洁的参考python然后书Python Essential Reference 可能会有帮助。
答案 7 :(得分:-3)
我不会为了学习Python而过多地比较Perl和Python,特别是因为你有其他语言的工作知识。如果您不熟悉OOP / Functional编程方面,并且只是想像Perl那样在程序上工作,那么请开始学习Python语言结构/语法,然后再做几个例子。如果你正在转向OO或功能样式范例,我会首先阅读OO基础知识,然后从Python语法和示例开始...所以你有一种心理蓝图,说明在你开始工作之前如何构建事物用实际的材料。这只是我的拙见...