2010-02-17 58 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,嘗試儘可能多地使用新技術。