2010-02-17 36 views
46

我是一位经验丰富的Perl开发人员,具有一定的经验和/或熟悉其他语言(C/C++的工作经验,Java和Scheme的学校经验以及熟悉许多其他语言的经验)。Python for Perl程序员

我可能需要在Python中完成一些网络工作(最直接的,与Google App Engine相关)。因此,我想问一下,如何为来自Perl背景的人学习Python提供很好的参考(例如,重点将放在两者之间的差异以及如何将perl习惯用语翻译成Python惯用语,相反,到泛型Python引用)。以Web开发为中心的东西甚至更好。 我会带任何东西 - 文章,教程,书籍,示例应用程序?

谢谢!

+0

计划,Java确实派上用场。 – 2010-02-17 17:45:20

+1

http://www.python.org/doc/2.5.4/tut/tut.html – 2010-02-17 17:56:05

回答

59

由于工作原因,我最近不得不作出类似的过渡,这是非常痛苦的。无论是好还是坏,Python的理念和工作方式都与Perl不同,习惯这种方式可能令人沮丧。我发现最有用的东西是

就我个人而言,我发现Dive Into Python讨厌和光顾,但它是免费的在线,所以你可以形成自己的判断。

+4

非常感谢。我在同一条船上。 – FMc 2010-02-17 19:14:26

+3

非常好!涵盖了我将要问的每一个要点!谢谢!!! – DVK 2010-02-17 20:00:51

+1

你能解释一下“不同的哲学和工作方式”吗? – JoelFan 2014-12-19 17:50:19

2

下载此书from here。读它,呼吸它,吃它.. :)

这对任何人都好。

updated for Python3

+2

我是Dive Into Python。它就像Python初学者书籍的圣经一样。 – jellyfishtree 2010-02-17 17:47:26

+1

标准教程不应该优先吗?顺便说一下,Google App引擎暗示Python 2.5,对吧? – 2010-02-17 17:48:05

+0

这看起来好像有一些对Perl的引用,尽管大部分比较词似乎都是针对Visual Basic的...... – DVK 2010-02-17 17:49:41

-3

我不会试图以学习Python太多比较Perl和Python,特别是因为你有工作其他语言的知识。如果您不熟悉OOP/Functional编程方面,并且只是像Perl一样在程序上工作,那么开始学习Python语言结构/语法,然后做一些示例。如果您正在切换到面向对象或功能样式范例,那么我会首先阅读面向对象的基础知识,然后从Python语法和示例开始......因此,您在开始工作之前有了一些关于如何构建事物的心理蓝图与实际的材料。这只是我的愚蠢的意见然而..

+14

Psst。现代Perl开发人员和其他人一样使用OO。和往常一样,TMTOWTDI。 ;) – 2010-02-17 18:04:14

+13

@jellyfishtree - 我会尽量不要被冒犯,但实际上,这个假设有点不被接受。我用Perl编写了完整的OO代码(我也写过C++) - 我确实说过我是一位经验丰富的Perl开发人员,而不是脚本猴子 - 另外我可以编写函数式编程,但经验/质量要差得多:) – DVK 2010-02-17 18:20:32

+4

Perl和Python OO系统非常相似 - Perl' 是从Python复制的。 – 2010-02-17 18:52:02

4

退房official tutorial,这实际上是非常好的。如果您对Web开发感兴趣,那么您应该准备好立即开始使用您将要使用的Web框架的文档; Python有许多可供选择的选项,比如zope,cherrypy,pylons和werkzeug都有很好的声誉。

我不会尝试搜索专门用于帮助您从Perl过渡的事物,这些事情的质量不会像对更多人有用的参考那样高。

3

This是你应该去的网站。有一个部分叫入门你应该看看。也有关于书籍的建议。最重要的是,你也可能会在“成语”

7

作为一个骨灰级的Perl程序员感兴趣this,所有我能说的是不买 O'Reilly的“Python入门”。它远不如“学习Perl”那么好,我对拉里沃尔的“编程Perl”知之甚少,这是无与伦比的。

我已经取得了最成功的经历,并将它们转化为Python,尝试尽可能多地使用新技术。