Python是一門簡單易學、功能強大的編程語言,擁有高效的高層數據結構,特別適用于快速應用程序開發。《Python程序設計基礎教程》共分為16章,主要內容包括:Python簡介、Python環境搭建、函數、模塊、文件操作、字符串與正則表達式、面向對象編程、異常處理、Python基本概念、Python控制結構、Python多線程與多進程編程、使用Python進行GUI開發、使用Python進行數據管理、Python Socket網絡編程、使用Python進行Web開發,以及Python綜合應用實例。
《Python程序設計基礎教程》既可以作為高等院校相關專業的教材,也可以作為程序設計愛好者的學習指導用書。
詳細介紹了Python語言的各種規則和規范。
選取了Python在一些當下流行的具體應用場景下的使用方法。
在某些章節,尤其是有關實際編程的章節,輔助有視頻講解。
前 言
Python是一門解釋型、支持面向對象特性的、動態數據類型的高級程序設計語言。自從20世紀90年代Python公開發布以來,經過20多年的發展,Python以其語法簡潔而高效、類庫豐富而強大、適合快速開發等原因,成為當下最流行的腳本語言之一,也被廣泛應用到統計分析、計算可視化、圖像工程和網站開發等許多專業領域。
相比于C++、Java等語言來說,Python更加易于學習和掌握,并且利用其大量的內置函數與豐富的擴展庫來快速實現許多復雜的功能。在Python語言的學習過程中,仍然需要通過不斷的練習與體會來熟悉Python的編程模式,盡量不要將其他語言的編程風格用在Python中,而要從自然、簡潔的角度出發,以免設計出冗長且低效的Python程序。
本書的主要特色如下。
知識技術全面準確:本書主要針對國內高校相關專業的學生及程序設計愛好者,詳細介紹了Python語言的各種規則和規范,以便讓讀者能夠全面掌握這門語言,從而設計出優秀的程序。
內容架構循序漸進:本書的知識脈絡清晰明了,第1~5章主要介紹Python的基本語法規則,第6~9章主要講解一些更加深層的概念,而第10~16章則選取了Python在一些當下流行的具體應用場景下的使用方法。本書內容由淺入深,便于讀者理解和掌握。
代碼實例豐富完整:針對書中的每一個知識點都會配有一些示例代碼,并輔以相關說明文字及運行結果,某些章節還會對一些經典的程序設計問題進行深入的講解和探討。讀者可以參考源程序上機操作,加深體會。
微課輔助學習:在某些章節,尤其是有關實際編程的章節,輔助有視頻講解。
本書中所有的代碼均能在Python 2.7.11版本下成功運行,對其稍加調整后也可以適用于Python 3.x版本。
本書由呂云翔、孟爻、趙天宇、張元、郭若沖編著。
由于Python的教學方法本身還在探索之中,加之編者的水平和能力有限,本書難免存在疏漏之處。懇請各位同仁和廣大讀者給予批評指正,也希望各位讀者能將實踐過程中的經驗和心得與我們交流。
第1章 Python簡介
1.1 Python的發展歷程
1.2 Python的語言特點
習題
第2章 Python環境搭建
2.1 Python安裝
2.1.1 在Windows平臺上安裝Python
2.1.2 在UNIX & Linux平臺上
安裝Python
2.1.3 在Mac平臺上安裝Python
2.2 Windows下的環境變量配置
2.3 Hello, Python
習題
第3章 Python基本概念
3.1 基本數據類型
3.1.1 整型
3.1.2 浮點型
3.1.3 復數
3.1.4 字符串
3.1.5 布爾值
3.1.6 空值
3.1.7 變量
3.1.8 變量的命名
3.1.9 變量的創建
3.2 運算符
3.2.1 算術運算符
3.2.2 關系運算符
3.2.3 邏輯運算符
3.2.4 位運算符
3.2.5 身份運算符
3.2.6 成員運算符
3.3 表達式
3.3.1 算術表達式
3.3.2 優先級
3.4 賦值語句
3.4.1 賦值運算符
3.4.2 增強型賦值運算符
3.5 常用函數
3.5.1 常用內置函數
3.5.2 類型轉換函數
3.5.3 數學運算函數
3.6 常用模塊
3.6.1 math模塊
3.6.2 random模塊
3.7 基本輸入/輸出
3.7.1 基本輸出
3.7.2 基本輸入
習題
第4章 Python控制結構26
4.1 三種基本控制結構26
4.1.1 選擇結構26
4.1.2 單選擇結構——if語句26
4.1.3 雙選擇結構——if…else語句28
4.1.4 多選擇結構——if…elif…else語句29
4.1.5 選擇結構的嵌套31
4.2 實例:使用選擇結構進行程序
設計32
4.2.1 鑒別合法日期32
4.2.2 判斷兩個圓的位置關系34
4.3 循環結構38
4.3.1 while循環38
4.3.2 for循環40
4.3.3 break語句與continue語句41
4.3.4 循環結構的嵌套42
4.4 實例:使用循環結構進行程序
設計43
4.4.1 計算質數43
4.4.2 計算 的近似值44
習題45
第5章 函數47
5.1 函數的定義47
5.1.1 空函數47
5.1.2 參數檢查48
5.1.3 返回多個值49
5.2 函數調用49
5.2.1 按值傳遞參數和按引用傳遞參數50
5.2.2 函數的參數50
5.2.3 匿名函數53
5.2.4 return語句53
5.2.5 變量作用域54
習題55
第6章 模塊56
6.1 模塊的概念56
6.1.1 命名空間56
6.1.2 模塊57
6.1.3 包58
6.2 模塊內置屬性58
6.3 第三方模塊安裝方法59
習題59
第7章 文件操作60
7.1 文件讀寫60
7.1.1 打開文件60
7.1.2 寫入文件61
7.1.3 讀取文件62
7.1.4 文件讀寫異常處理64
7.2 其他文件操作64
7.2.1 os模塊文件操作65
7.2.2 shutil模塊文件操作67
習題67
第8章 字符串與正則表達式69
8.1 字符串的基本操作69
8.1.1 下標訪問69
8.1.2 切片操作69
8.1.3 字符串拼接與復制70
8.1.4 in/not in運算符70
8.1.5 比較運算符70
8.1.6 for循環遍歷字符串70
8.2 字符串相關的函數70
8.3 格式化字符串74
8.4 實例:使用字符串進行程序
設計75
8.4.1 檢測回文串75
8.4.2 字符串的簡單加密76
8.5 字符編碼80
8.5.1 字符編碼簡介80
8.5.2 使用Python處理中文81
8.6 正則表達式83
8.6.1 正則表達式簡介83
8.6.2 使用re模塊處理正則表達式85
8.7 實例:使用正則表達式進行程序
設計88
8.7.1 用戶注冊信息格式校驗88
8.7.2 模擬scanf函數89
習題90
第9章 面向對象編程92
9.1 面向對象編程的概念92
9.2 類與對象93
9.2.1 類與實例化93
9.2.2 初始化函數與析構函數93
9.2.3 類的屬性94
9.2.4 類的方法96
9.3 面向對象的三大特性97
9.3.1 繼承97
9.3.2 訪問控制103
9.3.3 多態104
9.4 特殊的屬性與方法105
9.4.1 __slots__屬性105
9.4.2 只讀的特殊屬性106
9.4.3 __str__()方法106
9.4.4 __repr__()方法107
習題108
第10章 異常處理109
10.1 異常的概念109
10.2 異常的拋出與捕獲110
10.3 自定義異常111
10.4 使用斷言異常處理113
習題113
第11章 Python多線程與多進程編程114
11.1 線程與進程114
11.1.1 進程114
11.1.2 線程114
11.1.3 多線程與多進程115
11.2 Python多線程編程115
11.2.1 Python多線程的特殊性115
11.2.2 使用threading模塊進行多線程
編程116
11.3 Python多進程編程131
11.3.1 Python多進程編程的特點131
11.3.2 使用multiprocessing模塊進行多
進程編程131
習題142
第12章 使用Python進行GUI開發143
12.1 GUI編程簡介143
12.1.1 窗口與組件143
12.1.2 事件驅動與回調機制143
12.2 Tkinter的主要組件144
12.2.1 標簽144
12.2.2 框架145
12.2.3 按鈕145
12.2.4 輸入框146
12.2.5 單選按鈕和復選按鈕146
12.2.6 列表框與滾動條148
12.2.7 畫布149
12.2.8 標準對話框151
12.3 實例:使用Tkinter進行GUI
編程——三連棋游戲152
12.3.1 用戶界面設計152
12.3.2 創建菜單152
12.3.3 創建游戲面板154
12.3.4 將用戶界面與游戲連接155
習題160
第13章 使用Python進行數據管理161
13.1 引言161
13.2 數據對象的持久化162
13.2.1 使用pickle模塊存取對象162
13.2.2 使用shelve模塊隨機訪問對象163
13.3 使用itertools模塊分析和處理
數據164
13.3.1 數據過濾函數164
13.3.2 c