1. 初嘗Python

如果你經常使用電腦,最終你會發現有些任務需要自動化。例如,你可能希望在大量文字檔案中執行查詢和替換操作,或者以複雜的方式重新命名和重新排列一堆照片檔案。也許你希望編寫一個小型的自定義資料庫、一個專門的GUI應用程式或一個簡單的遊戲。

如果你是一名專業的軟體開發人員,你可能需要使用一些C/C++/Java庫,但發現通常的編寫/編譯/測試/重新編譯迴圈太慢。也許你正在為這樣的庫編寫測試套件,並發現編寫測試程式碼是一項繁瑣的任務。或者你可能已經編寫了一個可以使用擴充套件語言的程式,但你不想為你的應用程式設計和實現一種全新的語言。

Python正是適合你的語言。

對於其中一些任務,你可以編寫Unix shell指令碼或Windows批處理檔案,但shell指令碼最擅長移動檔案和更改文字資料,不適合GUI應用程式或遊戲。你可以編寫C/C++/Java程式,但即使是第一個草稿程式也可能需要大量的開發時間。Python更易於使用,可在Windows、macOS和Unix作業系統上使用,並將幫助你更快地完成工作。

Python使用簡單,但它是一種真正的程式語言,為大型程式提供了比shell指令碼或批處理檔案更多的結構和支援。另一方面,Python還提供了比C更多的錯誤檢查,並且作為一種 非常高階的語言,它內建了高階資料型別,例如靈活的陣列和字典。由於其更通用的資料型別,Python適用於比Awk甚至Perl更廣泛的問題領域,但許多事情在Python中至少與在那些語言中一樣容易。

Python允許你將程式拆分為模組,這些模組可以在其他Python程式中重用。它附帶了大量標準模組,你可以將其用作程式的基礎——或作為開始學習Python程式設計的示例。其中一些模組提供檔案I/O、系統呼叫、套接字,甚至與Tk等圖形使用者介面工具包的介面。

Python是一種解釋型語言,這可以在程式開發過程中為你節省大量時間,因為無需編譯和連結。直譯器可以互動式使用,這使得實驗語言特性、編寫一次性程式或在自下而上的程式開發過程中測試函式變得容易。它也是一個方便的桌面計算器。

Python使程式能夠簡潔易讀地編寫。由於以下幾個原因,用Python編寫的程式通常比等效的C、C++或Java程式短得多:

  • 高階資料型別允許你用一個語句表達複雜的操作;

  • 語句分組透過縮排而不是起始和結束括號完成;

  • 無需變數或引數宣告。

Python是 可擴充套件的:如果你瞭解C語言程式設計,可以輕鬆地向直譯器新增新的內建函式或模組,以便以最快速度執行關鍵操作,或將Python程式連結到可能僅以二進位制形式提供的庫(例如供應商特定的圖形庫)。一旦你真正迷上它,你可以將Python直譯器連結到用C編寫的應用程式中,並將其用作該應用程式的擴充套件或命令語言。

順便說一下,這個語言是以BBC節目“蒙提·派森的飛行馬戲團”命名的,與爬行動物無關。在文件中引用蒙提·派森的短劇不僅是被允許的,而且是受鼓勵的!

現在你對Python感到興奮了,你會想更詳細地研究它。由於學習一門語言最好的方法是使用它,本教程邀請你在閱讀時使用Python直譯器進行嘗試。

在下一章中,將解釋使用直譯器的機制。這相當平淡無奇,但對於嘗試後面顯示的示例至關重要。

本教程的其餘部分透過示例介紹Python語言和系統的各種功能,從簡單的表示式、語句和資料型別,到函式和模組,最後涉及異常和使用者定義類等高階概念。