我的朋友問我怎麼能快速地掌握Python。 我想Python包含的內容很多,加上各種標準庫,拓展庫,亂花漸欲迷人眼,就想寫一個快速的,類似於w3cschool風格的Python教程,一方面 保持言語的簡潔,另一方面循序漸進,盡量讓沒有背景的讀者也可以從基礎開始學習。另外,我在每一篇中專註於一個小的概念,希望可以讓人可以在閑暇時很快讀完。
小提醒
1. 教程將專註於Python基礎,文法基於Python 2.7 (我會提醒Python
3.x中有變化的地方,以方便讀者適應3.X的情況)。測試環境為Linux,
將不會使用到標準庫之外的模組。標準庫的一些包不適用於Windows平台。如果文中的程式無法在你的平台上運行,歡迎討論。
2. 我將專註於Python的主幹,以便讀者能以最快時間對Python形成概念。
3. Linux命令列將以 $ 開始,比如 $ls, $python
4. Python命令列將以 >>> 開始,比如 >>>print 'Hello World!'
5. 注釋會以 # 開始
建議
1. 將教程中的命令敲到Python中看看效果。
2. 看過教程之後,可以進行一些練習。
===============================================
Python基礎01 Hello World!
Python基礎02 基礎資料型別 (Elementary Data Type)
Python基礎03 序列
Python基礎04 運算
Python基礎05 縮排和選擇
Python基礎06 迴圈
Python基礎07 函數
Python基礎08 物件導向的基本概念
Python基礎09 物件導向的進一步拓展
Python基礎10 反過頭來看看
---------------------------------------------------------------------------------------------
Python進階01 詞典
Python進階02 文字檔的輸入輸出
Python進階03 模組
Python進階04 函數的參數傳遞
Python進階05 迴圈設計
Python進階06 迴圈對象
Python進階07 函數對象
Python進階08 錯誤處理
Python進階09 動態類型
---------------------------------------------------------------------------------------------
Python快速教程總結
Python補充01 序列的方法
Python補充02 Python小技巧
Python補充03 Python內建函數清單
Python補充04 Python簡史
Python補充05 字串格式化 (%操作符)
Python補充06 Python之道
===============================================
在大家的支援下,基本上完成了快速教程的連載。我從這個過程中學到很多內容。在Python的基礎之後,Python標準庫自然成為下一個挑戰。Python標準庫的重要性在於:
1) 它是Python的一部分。
2) Python的哲學是一個問題只有一個最好的解決方案,這些標準庫就為相應的問題提供了一個標準的解決方案。
3) 許多重要Python項目,比如Django, Numpy, 也都需要借用標準庫。瞭解標準庫是繼續學習的前提。
希望以此拋磚引玉,向大家學習。
Python標準庫的學習的主要難度在於,需要一定的作業系統的基礎知識。我之前讀到的Python標準庫的相關教程中,都有一個共同的問題,就
是假設你已經對作業系統和網路基礎有所瞭解。當然,如果是在系統方面經驗豐富就好,但是如果很生疏,那麼學習Python標準庫就有很大的困難。然而,全面地學習系統知識需要大量的精力和時間。出於此,我也增加一個Linux系統相關的貼,主要用於討論Linux的基本概念和體系。這些概念和體系可以構成一個基本的架構,瞭解之後,可以比較從容地學習Python標準庫。你也可以選擇繼續讀標準庫,直到需要補充這些知識的時候,根據Python標準庫中給出的連結,來閱讀這些系統相關的文章。 Linux概念與體系
Python標準庫——走馬觀花
Python標準庫的學習準備
Python標準庫01 Regex (re包)
Python標準庫02 時間與日期 (time, datetime包)
Python標準庫03 路徑與檔案 (os.path包, glob包)
Python標準庫04 檔案管理 (部分os包,shutil包)
Python標準庫05 儲存物件 (pickle包,cPickle包)
Python標準庫06 子進程 (subprocess包)
Python標準庫07 訊號 (signal包)
Python標準庫08 多線程與同步 (threading包)
Python標準庫09 進程資訊 (部分os包)
Python標準庫10 多進程初步 (multiprocessing包)
Python標準庫11 多進程探索 (multiprocessing包)
Python標準庫12 數學與隨機數 (math包,random包)
Python標準庫13 迴圈器 (itertools)
===============================================
Python在網路方面有很多應用,無論是作為伺服器端提供HTTP服務(比如豆瓣),還是作為用戶端抓取網頁。Python提供了到作業系統的
socket的介面,可以直接對socket編程。此外還有各個進階包可以實現不同的網路功能。然而,Python網路應用的最大優勢在於Python所融合的自身優點,比如說文法簡單,可讀性高,有強大的指令碼功能,這些讓Python的開發人員可以迅速開發出優秀的網路產品。
這裡將只限Python標準庫中提供的網路包。
Python網路01 原始Python伺服器
Python網路02 Python伺服器進化
===============================================
到現在為止,如果你一直在跟隨Python教程,我預期你已經可以寫出一些有用的Python程式(甚至於比較大型的程式)。如果你已經達到了自己的目的,我想你的Python學習已經可以告一段落。(恭喜你)
當然,我會繼續補充一些之前部分的內容,比如一些標準庫的包,比如更多的Python網路應用等等。
在下面的部分中,我想深入討論Python的體系。Python的文法很豐富,但這些文法都是建立在一個很簡單的物件模型基礎上的。這一部分的內
容並不是使用Python所必須的。但如果你不滿足於一個Python使用者的定位,從事一些Python開發(比如製作Python工具,比如寫一個架構),你會希望對這一物件模型有進一步的瞭解。此外,我也會在這一部分補充說明前面遺留的一些話題。
Python深入01 特殊方法與多範式
Python深入02 上下文管理器
Python深入03 對象的屬性
Python深入04 閉包
Python深入05 裝飾器
===============================================
參考書以及介紹
見豆列: http://book.douban.com/doulist/1619790/
===============================================