Mark Lutz:learning Python@2013 (第5版)

Python之所以受到廣泛歡迎,其核心原因在於其軟體品質 (Software Quality)開發人員生產力 (Developer Productivity)程式可攜性 (Program Portability)豐富的支援函式庫 (Support Libraries)元件整合能力 (Component Integration) 以及 程式設計帶來的樂趣 (Enjoyment)。Preface中強調,Python的設計注重程式碼的可讀性、一致性與整體軟體品質,使其相較於傳統腳本語言更易於理解、重用和維護。其動態類型、缺乏編譯步驟及內建工具集,能顯著提升開發效率。Python程式碼通常比同等的C++或Java程式碼精簡許多,減少了編寫、偵錯和後期維護的工作量。此外,Python程式碼在主要作業系統上幾乎無需修改即可執行,並且擁有龐大且可攜的標準函式庫及協力廠商套件生態系統,涵蓋Web開發、GUI、系統程式設計、資料庫存取、數值科學計算等多個領域。Python能夠輕鬆與其他語言編寫的元件整合,作為膠水語言或客製化工具。

本書《Learning Python, 第五版》的核心主旨是作為一本全面且深入介紹Python語言本身的教學指南。其目標是幫助讀者在進入特定應用領域之前,紮實掌握Python的基礎知識。Preface明確指出,本書是整個Python學習資源集的第一步,專注於語言的核心特性,這些特性適用於任何Python軟體系統。書中透過底層到高層、循序漸進的方式,詳細探討了Python的內建物件類型(數字、字串、串列、字典、元組、集合、檔案等)、語句和語法規則(賦值、條件判斷、迴圈、異常處理等),以及程式結構單元(函式、模組、類別)的概念與實踐。此外,也觸及了動態類型、作用域、參數傳遞、迭代器、產生器、裝飾器和元類別等進階主題。

Preface特別針對Python目前存在的兩個主要且不完全相容的版本線(2.X和3.X)進行了說明。儘管3.X被視為語言的未來發展方向,但2.X版本仍舊被廣泛使用,並且擁有龐大的既有程式碼基礎和協力廠商函式庫。本書旨在作為所有Python入門者的單一資源,同時涵蓋Python 3.3和2.7這兩個主要版本線。書中範例和解釋會指出兩個版本之間的差異和兼容性考量,幫助讀者理解並處理跨版本或特定版本的程式碼。選擇哪個版本入門取決於個人需求(新功能與演進選擇3.X,現有程式碼與穩定性選擇2.X),但本書強調兩者核心概念高度相似,所學技能可通用。

本書採用循序漸進的學習結構,將語言內容分為多個部分,每個部分又包含多個章節,從最基本的物件類型開始,逐步深入到更複雜的語句、函式、模組和類別等概念。這種底層到高層的安排旨在使學習過程更加自然,並建立牢固的基礎。書中穿插了練習和測驗,鼓勵讀者動手實踐,加深理解。Preface建議讀者按部就班閱讀,將此書視為一門學期級別的Python語言課程。

Preface也明確界定了本書的範圍,指出它是一本教學指南而非參考手冊,並且專注於核心語言本身,而非特定的應用領域(如Web、GUI、系統程式設計等)。豐富的標準函式庫和協力廠商套件的使用,將留待後續書籍或資源探討。本書的內容是全面的,旨在幫助讀者精通Python基礎,而不是淺嚐輒止。書中的程式碼範例基於Python 3.3和2.7,同時也考慮到更早期的版本,並提供獲取範例程式碼的方法。