如果你經常在電腦上辦公,最終你會出現讓一些任務自動化的需求。比如,你可能希望對一大堆文本文件執行查找替換任務,或是以一種復雜的規則重命名整理大量的照片。於是,你希望寫一個小型的定制數據庫,一個專屬的可視化程序,或是一個簡單的游戲。
如果你是一個專業的軟件開發者,你可能已經使用過一些C/C++/Java程序庫,覺得編碼-編譯-測試-重編譯這種通用周期速度太慢。也許你正在為一個程序庫寫一個測試程序,發現寫測試代碼是一件無比乏味的工作。也許你曾用擴展語言寫過一個程序,不想再為這個程序用一種全新的語言重新設計實現。
Python滿足你全部想象。
你可以為特定的任務寫一個Unix的shell文件或是windows的批處理文件。shell腳本的優勢在於移動文件和改變文本內容,在可視化程序或是游戲的表現不佳。C/C++/Java程序光是搭建一個很簡單的架構就需要花費大量的時間。Python簡單易學,在Windows、Mac OS X和Unix操作系統下都可以運行,它可以幫助你快速完成任務。
Python是雖然很簡單,但它是一門真正的編程語言,為大型程序提供的功能比shell文件或批處理文件多得多。另一方面,與C語言相比,Python也提供更多的錯誤檢查。作為一門
超贊的高級語言,Python 擁有高級的內置數據類型,包括靈活的數組以及字典。由於它擁有更多通用的數據類型,Python能夠解決的問題領域比Awk和Perl都大得多。此外,別的語言中的很多特性在Python語言中也都有更簡單易用的實現。
Python可以幫助你將程序分割成多個可以在別的程序中復用的模塊。有大量的標准模塊可供選用,作為在程序的基礎或是開始學習Python編程的例子。一些模塊提供文件輸入輸出,系統調用,網絡編程接口,面向如Tk之類的圖形用戶界面工具包的接口。
Python是解釋型語言,免去了編譯和鏈接環節,節省大量程序開發的時間。解釋器的交互式使用易於語言特性的嘗試認識,易於寫出throw-away的程序,易於在自底向上程序開發過程中測試函數。此外這使得Python成為一個便利的桌面計算機。
Python代碼緊湊、可讀性強。由於以下幾個原因,同樣的程序用Python編寫的代碼長度遠小於用C/C++/Java編寫。
- 高級的數據類型使得一個句子可以表達復雜的操作
- 語句塊由縮進定義而不是{}
- 變量和參數不需要定義
另外,Python是以BBC節目“Monty Python's Flying Circus”命名的,與爬行動物巨蟒沒什么關系。在程序文檔里提及Monty Python短劇的行為值得鼓勵。(-_-big fan)
現在你已經對Python足夠感興趣了吧,你可以通過更多細節感受它。學習一門語言最好的方法是使用它,這個教程希望你在閱讀的過程中多多使用Python解釋器。
下一章將會介紹解釋器的機理,包括一些理論上的內容,嘗試例子的部分稍后展開。
教程的接下來的部分會通過例子介紹Python語言的機制大量的特性,一開始是一些簡單的表達式、語句和數據類型,然后是函數和模塊,最后會觸及一些高級的概念比如表達式和用戶自定義的類。