如果你需要在計算機前完成許多工作,最終你會發現有許多任務你想要自動化。例如對大量文本文件進行搜索零替換的操作,又如用一種複雜的方式重新命名並排列一大堆照片。你可能會寫一個小的數據庫,一個特殊的GUI程序,或者一個小遊戲。
如果你是一個職業軟件開發者,你可能會經常與一些C/C++/Java程序庫打交道,但你會發現編碼/編譯/測試/再編譯的循環效率太低。你也許需要對一個庫寫測試套件並發現撰寫測試代碼是多麼的乏味。或者你正在寫一個能使用某種語言進行擴展的程序,並且你不想再 設計並實現一門新的語言。
那麼恭喜你,Python正是你需要的語言。
你可以爲某些任務編寫Unix的shell腳本或者Windows的批處理,但是Shell腳本更適合移動文件和修改文本內容,而不是GUI程序或者遊戲。你可以寫一個C/C++/Java程序,但即使僅僅完成最初的雛形也需要大量的開發時間。Python使用簡單,在Windows,MacOS X, Unix系統上都能獲取,並能幫助你更快的完成工作。
Python學起來很簡單,但它是一種真正的編程語言,對大型程序提供了比Shell腳本和批處理更多的支持[U1] 。另一方面,Python比C提供了更多的錯誤檢查。同時作爲一門非常高級的語言,Python擁有內置的高級數據結構,如變長數組與字典。因爲擁有更廣泛的數據類型,Python比Awk甚至Perl更適合一個更大的問題域。同時很多事情使用Python至少和其他這些語言一樣簡單。
Python允許你把程序劃分成模塊並在其它Python程序中重用。Python還附帶了大量的標準庫。你可以把它們作爲你開發程序的基礎,或者作爲開始學習Python的範例。有些模塊提供了諸如IO,系統調用,sockets甚至是如Tk等GUI工具庫的接口。
Python是一種解釋型語言,可以節省你開發程序時的思考時間,因爲不需要編譯和鏈接。解釋器可以以交互方式運行,從而使嘗試語言的特性,編寫即用即扔的程序和在自低向上的開發中測試函數變得容易。另外Python還是一個方便的桌面計算器。
Python能讓程序寫的更簡潔易讀。用Python書寫的程序通常比C,C++,或者Java寫的同樣的程序短很多。原因有如下幾點:
高層次的數據結構使你可以用一個語句表示複雜的操作;
變量和參數不需要聲明。
Python是可擴展的。如果你會用C寫程序,爲解釋器添加一個內置函數或者模塊來達到使某些關鍵操作以最快速度運行或者把Python程序鏈接到一些只有二進制形式的庫(如商用的圖形庫)就會變得容易。你真的理解Python了[U3] ,可以把Python解釋器鏈接到用C寫的程序中作爲該程序的擴展或者命令語言。
再說一句,Python的名字來源於BBC的節目”Monty Python’s Flying Circus”, 和討厭的爬蟲毫無關係。在文檔中引用“Monty Python”節目不僅是允許的,還是被鼓勵的。
現在你一定爲Python而激動,迫不及待的想了解更多了。學習一門語言最好的辦法就是使用它,本教程建議你在閱讀的同時使用Python解釋器進行試驗。
下一章將會講述如何使用Python解釋器。雖然通俗了一些,但卻是以後嘗試後面範例的基礎。
本教程的餘下部分將通過範例介紹Python語言和系統的各種特性。從最簡單的表達式,語句,數據結構到函數和模塊。最後會接觸到異常和用戶自定義類等高級概念。