怎樣學好Python

 作爲腳本語言Python上手容易,但要學好Python能寫出一手漂亮的、Pythonic的Python代碼並非一日之功,本文的目的在於推薦一些優秀的Python相關的文章(至於書大家可以看dip、learning python和官方手冊去),讓你在成長爲一名Python高手的路上少走一點彎路。注:文章都是英文的,學好Python讀懂英文資料這是必須的了。

九本python書推薦:http://hi.baidu.com/zealot886/blog/item/289f54da5feff30b632798b1.html

1. PEP8 Style Guide for Python Code

排第一的當屬Python的編碼規範PEP8,這個就不用我多說吧,無論是初學還是高手PEP8都是必須爛熟於胸的。在遵循裏面講述的規則的同時,大家也要記住兩句比較特殊的話,不過這兩句話千萬別濫用了:)

    Two good reasons to break a particular rule:

    (1) When applying the rule would make the code less readable, even for
        someone who is used to reading code that follows the rules.

    (2) To be consistent with surrounding code that also breaks it (maybe for
        historic reasons) -- although this is also an opportunity to clean up
        someone else's mess (in true XP style).

如果要寫Python的C擴展庫,你還必須好好學習下PEP7

2. Code Like a Pythonista: Idiomatic Python

文如其名,本文篇幅較長,但非常非常實用。本文介紹了一系列Python約定俗成的用法和技巧,學習本文能讓你寫出來的Python代碼馬上上一個檔次,讓你成爲一個真正的Pythoneer。

3. PEP318 Decorators for Functions and Methods

在Python的世界裏decorator是非常常見的,常見的比如auth、cache都會提供decorator,decorator所實現的功能就是修改緊接 decorator之後定義的函數和方法,你可以根據自己的需要給一個已有的函數和方法添油加醋。

4. Python regular expression documentation

掌握正則表達式是編程人員的必備技能,這是re模塊的官方文檔,用到正則表達式的時候要常來翻翻。Python的正則表達式跟別的語言函數用法有點 不一樣,因此也有人抱怨說Python的re模塊不好用,文章開頭關於正則表達式規則部分可以當正則表達式的入門教材,如果你還不知道正則表達式是個什麼 東西的話。個人覺得Python的re模塊非常強大的,舉個有點意思的例子,比如VERBOSE的正則表達式還支持在正則表達式中間加註釋說明正則表達式 的具體含義,因爲正則表達式通常都象天書一樣比較難懂,因此這個功能顯得非常有用。

a = re.compile(r"""\d +  # the integral part
                   \.    # the decimal point
                   \d *  # some fractional digits""", re.X)

5. PEP333 Python Web Server Gateway Interface v1.0

如果你要用Python來做Web相關的開發(對大多說人來說主要就是指Web運用)WSGI是必讀的,WSGI是Python web server、application、middleware之間的官方規範標準,現在主流的Python web server和framework都肯定支持WSGI的。只有瞭解了WSGI你才能更好的理解Python的web framework的工作機制、middleware爲啥可以串聯起來、web server是怎麼跟web application交互的。WSGI有兩個爲人詬病的地方,一是不支持異步,Tornado是一個異步的Web server,但是若要在上面運行WSGI的framework如Django,則Tornado的異步特性完全用不上;二是WSGI v1.0不支持Python3.x,爲了支持Python3.x,有兩篇還在Draft狀態的PEP文檔PEP3333PEP444可供參考。

6. How To Use Linux epoll with Python

更深入一點,如果你要做服務器端的編程的話,此文可以讓你深入理解Python的同步、異步socket編程模式。假如你覺得Tornado的源碼比較費解的話,讀讀這篇文章對你會很有大的幫助。

7.另外還有一些比較重要的文檔,這裏不做詳解,有興趣的同學可以去看看:

轉載請註明出處:http://feilong.me/2011/01/recommended-entries-for-you-to-master-python

根據本人的學習經驗,我總結了以下十點和大家分享: 
1)學好python的第一步,就是馬上到
www.python.org
網站上下載一個python版本。我建議初學者,不要下載具有IDE功能的集成開發環境,比如Eclipse插件等。 
2)
下載完畢後,就可以開始學習了。學習過程中,我建議可以下載一些python的學習文檔,比如《dive into python》,《OReilly
- Learning Python》等等。通過學習語法,掌握python中的關鍵字語法,函數語法,數學表達式等等 
3)學完了基本語法後,就可以進行互動式學習了。python具備很好的交互學習模式,對於書本上的例子我們可以通過交互平臺進行操練,通過練習加深印象,達到學習掌握的目的。 
4)
通過以上三個步驟的學習後,我們大致掌握了python的常用方法、關鍵字用法以及函數語法等。接下去的學習上,我們就可以着手學習常用模塊的使用,
比如os,os.path,sys,string模塊等。我們可以在交互環境中先熟悉使用其中的函數,如果遇到函數的使用上的問題,可以參考python
安裝後的自帶chm幫助文件。 
5)爲了更好得掌握python,我們的學習不能只是停留在學習一些語法或者api階段。在此階段中,我們可以
嘗試用python解決我們項目中遇到的一
些問題,如果項目不是用python開發的,那我們可以想想能不能用python製作一些項目組可以使用的一些工具(utility),通過這些工具簡化
項目組成員的任務,提高我們的工作效率。如果沒有項目,我們也可以自己找些題目來自己練習練習。 
6)經過以上鍛鍊後,我們的python知識
水平肯定是越來越高。接下去的學習,我們就要更上一層樓。爲了學以致用,真正能應用於項目開發或產品開發,我
們還必須學習企業應用開發中必須要掌握的網絡數據庫知識。在此的學習就不光是python語言本身的學習了,如果之前沒有學習和掌握很網絡和數據庫知
識,在此階段我們可以藉此機會補習一把。 
7)在此,我想我們對python的使用以及信手拈來了,即使忘了api的用法,我們也可以在短時間
內通過查看文檔來使用api。那麼接下去,我們要學習
什麼呢?那就是設計能力,在學習設計能力的過程中,如果對類等面向對象的概念不清楚的,在此階段也可以學習或加以鞏固。就像飛機設計師設計飛機通過學習模
型來設計一樣,我們也可以通過學習書上的經典例子來學習設計。等有了設計的基本概念後,我們就可以着手設計我們的程序了。在此階段中,我們重要的是學習抽
象的思想,通過隔離變化點來設計我們的模塊。 
8)到此階段,我們已經是真正入門了。在接下去的工作中,就是要快速地通過我們的所學來服務項目
了。在此階段,我們除了掌握python自帶的模塊外,我
們最好在掌握一些業界廣泛使用的開源框架,比如twisted、peak、django、xml等。通過熟練使用它們,達到閃電開發,大大節省項目寶貴時
間。 
9)你已經是個python行家了,在此階段,我們在工作中會遇到一些深層次的、具體的困難問題。面對這些問題,我們已經有自己的思考方
向和思路了。我們
時常會上網觀看python的最新發展動態,最新python技術和開源項目,我們可以參與python論壇並結交社區中一些python道友。 
10)你已經是個python專家,在此階段你應該是個python技術傳播者。時不時在組織中開壇講座,並在博客上傳播你的python見解。你會上論 壇幫助同行們解決他們提出的問題,你會給
www.python.org
網站提出你的寶貴建議,併爲python語言發展獻計獻策。 
任何知識的學習無止境,python的學習也不另外。在掌握python的用法、api和框架後,我們更要學習設計模式、開發方法論等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章