Python程序設計基礎與實踐(微課版)(AI輔助學習版)
呂雲翔 趙天宇
商品描述
本書介紹了使用Python進行程序設計的方法及簡單應用。全書共11章,分為3篇。第一篇(第1章~第5章)為基礎篇,主要介紹Python的基礎語法,包括Python概述、Python的基本概念、Python的控制結構、函數以及Python的數據結構。第二篇(第6章~第10章)為進階篇,主要介紹Python的一些高級特性和功能,包括模塊和包、字符串與正則表達式、面向對象編程、異常處理和文件處理。第三篇(第 11 章)為應用篇,介紹帶圖形界面的簡易計算器、微信聊天機器人、使用 ChatGPT 幫助開發簡易任務系統3個案例。
本書既可以作為高等院校計算機科學與技術、軟件工程及相關專業的教材,也可以作為軟件行業從業人員的學習指導用書。
作者簡介
呂雲翔,北京航空航天大學軟件學院副教授。長期從事“軟件工程基礎”課程的一線教學,曾多次獲得北航校級教學成果獎。“軟件工程基礎”課程獲評2021中國計算機教育大會計算機類教學資源建設優秀課程配套資源與優秀教學案例獎。具有多年的軟件開發、項目管理、計算機教學經驗,對IT行業具有較全面的認識,主編暢銷教材多部。
目錄大綱
基礎篇
第 1章 Python概述 1
1.1 Python簡史 1
1.2 Python的特點 2
1.3 搭建Python開發環境 4
1.3.1 下載與安裝Python 4
1.3.2 Python命令行的使用 7
1.4 Python的開發工具 7
1.4.1 IDLE 8
1.4.2 PyCharm 8
1.4.3 Visual Studio Code 9
1.5 Python程序——Hello, World 10
1.6 Python的編碼規範 10
1.6.1 命名規則 11
1.6.2 代碼縮進 11
1.6.3 使用空行分隔代碼 12
1.6.4 語句的分隔 12
1.6.5 PEP 8編碼規範 12
1.7 小結 12
1.8 習題 13
第 2章 Python的基本概念 14
2.1 基本數據類型 14
2.2 變量 16
2.2.1 變量的命名 17
2.2.2 變量的創建和賦值 17
2.3 運算符 18
2.3.1 算術運算符 18
2.3.2 關系運算符 18
2.3.3 邏輯運算符 19
2.3.4 位運算符 19
2.3.5 身份運算符 20
2.3.6 成員運算符 20
2.4 表達式 20
2.4.1 算術表達式 20
2.4.2 優先級 21
2.5 賦值語句 22
2.5.1 賦值運算符 22
2.5.2 增強型賦值運算符 23
2.6 常用的模塊與函數 23
2.6.1 常用的內置函數 23
2.6.2 常用的模塊及函數 25
2.7 基本輸出與基本輸入 27
2.7.1 基本輸出 27
2.7.2 基本輸入 28
2.8 小結 29
2.9 習題 29
第3章 Python的控制結構 31
3.1 3種基本控制結構 31
3.2 選擇結構 31
3.2.1 單分支結構——if語句 31
3.2.2 雙分支結構——if-else語句 33
3.2.3 多分支結構——if-elif-else語句 34
3.2.4 選擇結構的嵌套 36
3.3 實例:使用選擇結構進行程序設計 37
3.3.1 鑒別合法日期 37
3.3.2 判斷兩個圓的位置關系 38
3.4 循環結構 42
3.4.1 while循環 42
3.4.2 for循環 44
3.4.3 break語句與continue語句 45
3.4.4 循環結構的嵌套 47
3.5 實例:使用循環結構進行程序設計 47
3.5.1 計算質數 47
3.5.2 使用ChatGPT進一步優化計算質數程序 48
3.5.3 計算π的近似值 49
3.5.4 使用ChatGPT進一步優化計算π的近似值程序 51
3.6 小結 52
3.7 習題 52
第4章 函數 55
4.1 函數的定義 55
4.2 定義函數 55
4.3 調用函數 56
4.4 變量的作用域 57
4.5 函數的參數 58
4.5.1 形參與實參 58
4.5.2 默認值參數 60
4.5.3 位置參數與關鍵字參數 61
4.5.4 可變長度參數 61
4.5.5 函數註解 62
4.6 返回多個值 62
4.7 實例:將功能封裝為函數 63
4.7.1 鑒別合法日期 63
4.7.2 封裝turtle模塊圖形函數 64
4.8 遞歸 66
4.9 實例:使用遞歸解決問題 67
4.9.1 實例:計算斐波那契數 68
4.9.2 使用ChatGPT進一步優化計算斐波那契數程序 69
4.9.3 實例:解決漢諾塔問題 70
4.9.4 使用ChatGPT進一步優化漢諾塔程序 73
4.10 lambda表達式 74
4.11 小結 75
4.12 習題 75
第5章 Python的數據結構 79
5.1 列表 79
5.1.1 列表的基本操作 79
5.1.2 列表的函數 82
5.1.3 在函數中使用列表 84
5.1.4 列表的查找 86
5.1.5 列表的排序 87
5.1.6 多維列表 90
5.2 元組 91
5.2.1 元組的基本操作 91
5.2.2 元組封裝與序列拆封 93
5.2.3 元組與列表的比較 94
5.3 集合 94
5.3.1 集合的基本操作 94
5.3.2 集合運算 95
5.3.3 集合與列表的比較 97
5.4 字典 97
5.4.1 字典的基本操作 97
5.4.2 字典的函數 99
5.5 實例:使用數據結構進行程序設計 100
5.5.1 計算質數 100
5.5.2 使用ChatGPT進一步優化計算質數程序 101
5.5.3 統計詞頻 102
5.5.4 使用ChatGPT進一步優化統計詞頻程序 103
5.6 小結 104
5.7 習題 104
進階篇
第6章 模塊和包 107
6.1 創建模塊 107
6.2 導入模塊 108
6.3 包 109
6.3.1 將模塊組織成包 109
6.3.2 從包中導入模塊 110
6.3.3 包內引用模塊 110
6.4 安裝第三方包 111
6.5 小結 112
6.6 習題 112
第7章 字符串與正則表達式 114
7.1 字符串的基本操作 114
7.2 字符串的函數 115
7.3 格式化字符串 118
7.4 實例:使用字符串進行程序設計 119
7.4.1 檢測回文串 119
7.4.2 使用ChatGPT進一步優化檢測回文串程序 120
7.4.3 字符串的簡單加密 121
7.4.4 使用ChatGPT進一步優化字符串加密程序 125
7.5 正則表達式 125
7.5.1 正則表達式簡介 125
7.5.2 使用re模塊處理正則表達式 128
7.6 實例:使用正則表達式進行程序設計 130
7.6.1 校驗用戶註冊信息格式 130
7.6.2 使用ChatGPT進一步優化
用戶註冊信息校驗程序 132
7.6.3 模擬scanf()函數 133
7.6.4 使用ChatGPT進一步優化模擬scanf()函數程序 134
7.7 小結 135
7.8 習題 135
第8章 面向對象編程 137
8.1 面向對象的概念 137
8.2 類和對象 138
8.2.1 定義一個類 138
8.2.2 創建類的對象 139
8.2.3 定義私有成員 141
8.3 疊代器 142
8.4 重載運算符 143
8.5 實例:進行面向對象的程序設計 146
8.5.1 Circle類的實現 146
8.5.2 Fraction類的實現 150
8.6 繼承 153
8.7 小結 156
8.8 習題 156
第9章 異常處理 160
9.1 異常的概念 160
9.2 異常的拋出和捕獲 161
9.2.1 使用raise關鍵字拋出異常 162
9.2.2 使用try-except語句捕獲異常 162
9.2.3 使用else和finally子句處理異常 164
9.3 自定義異常 164
9.4 使用斷言 165
9.5 小結 166
9.6 習題 166
第 10章 文件處理 169
10.1 文件的創建與讀寫 169
10.1.1 文件的創建與打開 169
10.1.2 文件的寫入 170
10.1.3 文件的讀取 171
10.1.4 設置文件讀取指針 173
10.2 文件操作與目錄操作 173
10.2.1 文件操作 173
10.2.2 目錄操作 174
10.2.3 標準輸入、標準輸出與標準錯誤 175
10.2.4 實例:文件操作與目錄操作 175
10.3 實例:獲取文件屬性 181
10.4 小結 183
10.5 習題 183
應用篇
第 11章 綜合案例 185
11.1 案例一:帶圖形界面的簡易計算器 185
11.1.1 需求分析 185
11.1.2 界面設計 185
11.1.3 添加按鈕命令 186
11.1.4 編寫清空表達式命令 187
11.1.5 編寫計算函數 187
11.2 案例二:微信聊天機器人 188
11.2.1 wxpy簡介 188
11.2.2 功能設計 192
11.2.3 智能聊天 193
11.2.4 完整的代碼 195
11.3 案例三:使用ChatGPT幫助開發簡易任務系統 196
11.3.1 需求分析 196
11.3.2 設計數據庫模型 196
11.3.3 實現核心功能 196
11.3.4 與ChatGPT的問答過程 197
11.3.5 整合代碼 198
11.4 小結 199
附錄A 200
附錄B 201
參考文獻 204

