前 言
計算機程序設計基礎是高校計算機基礎教學的核心課程,它以一種高級程序設計語言作為實現工具,介紹程序設計的基本思想和方法,既可為後繼相關計算機課程學習奠定基礎,也有助於學生更加深刻地理解計算機求解問題的基本思想和方法,因而計算機程序設計課程也是計算思維能力培養的重要載體,應成為對學生進行計算思維能力培養最直接、最具操作性的課程。
傳統的高級程序設計語言(如C語言)往往為了兼顧性能而采用較為復雜靈活的語法,所以需要掌握的細節概念非常龐雜,即使是實現最簡單的功能,也要涉及很多概念,如一個C程序的函數定義,這制約了計算機作為普適計算工具在各學科專業的深入應用。Python語言是一種功能強大的程序設計語言,在支持面向過程程序設計的同時還支持面向對像程序設計,它以優雅、清晰、簡潔的語法特點,能將初學者從語法細節中擺脫出來,而專注於解決問題的方法、分析程序本身的邏輯和算法。Python語言還具有大量優秀的第三方函數模塊,對學科交叉應用很有幫助。經過20多年的發展,Python語言已經成為一門重要的程序設計語言。目前,基於這種語言的相關技術正在飛速發展,用戶數量急劇擴大,在軟件開發領域有著廣泛的應用。
本書的基本定位是,將Python作為第一門程序設計語言,介紹Python語言程序設計的基礎知識。全書以Python作為實現工具,介紹程序設計的基本思想和方法,培養學生利用Python語言解決各類實際問題的開發能力。全書共13章,主要內容有Python語言基礎、順序結構、選擇結構、循環結構、字符串與正則表達式、組、字典與集合、函數與模塊、面向對像程序設計、文件操作、異常處理、圖形繪制、圖形用戶界面設計。書中內容不拘泥於語法細節,而以程序設計應用為導向,突出問題求解方法與思維能力訓練。
學習Python程序設計,上機實踐十分重要。隻有通過上機實踐,纔能熟練掌握Python的語法知識,充分理解程序設計的基本思想和方法,並將所學知識應用到實際中去。為了方便讀者上機練習,本書的附錄部分是實驗指導,其中設計了15個實驗,每個實驗都和課程學習內容相配合,讀者可以根據實際情況從每個實驗中選擇部分內容作為上機練習。作為一門程序設計的入門課程,實驗內容既包含與Python語法規則相關的內容,也包含許多實際問題的程序設計,從而增強學生的學習興趣,提高學生分析問題和解決問題的能力。
在Python發展過程中,形成了Python 2.x和Python 3.x兩個版本,目前正朝著Python 3.x進化。Python 2.x和Python 3.x兩個版本是不兼容的,由於歷史原因,原有的大量第三方函數模塊是用2.x版實現的,這些代碼要修改後纔能在3.x上運行。所以有觀點認為,為了保證程序能用到這些優秀的第三方函數模塊,使用2.x版本是較好的選擇。但3.x版本體現了Python的發展,而且近年來Python 3.x下的第三方函數模塊日漸增多,同時考慮到本書是一本Python語言程序設計的基礎教材,不涉及過多的第三方資源,所以,本書選擇Windows操作繫統下的Python 3.x版本作為程序實現環境(下載安裝時的最高版本是Python 3.5.1)。
本書具有大量算法流程圖、程序語句及計算公式等,對於其中的變量,為了方便讀者閱讀,避免歧義,大多不區分正斜體或上下標等(明顯數學公式除外),特此說明。
本書可作為高等學校計算機程序設計課程的教材,也可供社會各類工程技術與科研人員閱讀參考。
本書第1、8~13章由劉衛國編寫,第2~6章由蔡立燕編寫,第7章及附錄A由童鍵編寫,全書由劉衛國統稿。此外,參與部分編寫工作的還有蔡旭暉、周欣然、劉澤星、劉胤宏、舒衛真等。
由於作者學識水平有限,書中難免存在疏漏或不妥之處,懇請廣大讀者批評指正。
作 者