Python編程基礎案例與實踐教程
嵇敏 焦慧華
相關主題
商品描述
本書內容以任務為導向,以“實訓+項目”為牽引,全面介紹 Python 編程基礎及其相關知識的應用。全書共 11 章,第 1 章主要介紹 Python 的歷史、特點及應用,還介紹了 Python 的開發環境及 Python 程序的運行,並通過精選的案例幫助讀者進一步認識 Python。第 2~10 章主要介紹 Python 的基礎語法、字符串操作、程序的流程、組合數據類型、函數、標準庫和第三方庫、文件操作等內容。第 11 章詳細講解 Python 的數據庫編程。
本書的主要章節配有練習模塊,用於鞏固教學效果,實訓和項目用於幫助讀者提升解決實際問題的能力。
本書適合作為普通高等本科院校及高職高專院校學生的程序設計課程教材。全書內容覆蓋全國電腦等級考試二級 Python 語言程序設計大綱,因此也適合參加全國電腦等級考試(二級 Python 語言)的人員閱讀。
作者簡介
嵇敏 辽宁师范大学计算机与信息技术学院副教授,全国高等院校计算机基础教育研究会理事。长期从事智能信息处理、软件工程、数据库技术、计算机辅助教学等方向研究,有丰富的教学与程序开发经验。曾主持或参与了国家自然科学基金和省教育厅项目等。主编的由人民邮电出版社出版的教材《Visual FoxPro 6.0数据库技术与应用(第3版)》获批工业和信息化普通高等教育“十二五”规划教材。
目錄大綱
目 錄
第 1 章 學習編程從 Python 開始 1
任務 1.1 認識 Python 2
1.1.1 程序設計語言 2
1.1.2 編譯與解釋 3
1.1.3 Python 的歷史 3
1.1.4 Python 的特點 4
1.1.5 Python 的應用 4
課堂練習 5
任務 1.2 掌握 Python 的開發環境 5
1.2.1 下載和安裝 Python 5
1.2.2 Python 的 IDLE 集成開發環境 7
1.2.3 PyCharm 集成開發環境 8
1.2.4 任務的實現 11
任務 1.3 運行 Python 程序 12
1.3.1 Python 程序的運行過程 12
1.3.2 Python 程序的運行方式 12
1.3.3 任務的實現 14
課堂練習 15
任務 1.4 Python 程序設計方法與示例 15
1.4.1 程序設計方法 15
1.4.2 程序示例 16
1.4.3 Python 的幫助文檔 19
1.4.4 任務的實現 20
實訓 21
實訓 1 在 PyCharm 環境下求圓柱體錶面積 21
實訓 2 根據三角形的兩條邊長及其夾角計算第三條邊長 21
小結 22
課後習題 22
第 2 章 Python 的基礎語法 24
任務 2.1 掌握 Python 程序的書寫規範 25
2.1.1 Python 語句 25
2.1.2 代碼塊與縮進 25
2.1.3 註釋 26
2.1.4 任務的實現 26
任務 2.2 掌握標識符和常用的關鍵字 27
2.2.1 標識符 27
2.2.2 關鍵字 27
課堂練習 28
任務 2.3 掌握 Python 的數據類型和變量 28
2.3.1 數據類型 28
2.3.2 變量 31
2.3.3 任務的實現 31
課堂練習 32
任務 2.4 Python 運算符的應用 32
2.4.1 算術運算符 33
2.4.2 關系運算符 33
2.4.3 邏輯運算符 34
2.4.4 賦值運算符 34
2.4.5 位運算符* 35
2.4.6 運算符的優先級 36
2.4.7 任務的實現 37
課堂練習 37
實訓 38
實訓 1 計算一元二次方程 ax 2 +bx+c = 0 的實數根 38
實訓 2 計算平面上兩點間的距離 39
小結 39
課後習題 40
第 3 章 Python 的字符串操作 42
任務 3.1 實現字符串的格式控制 43
3.1.1 字符串常量 43
3.1.2 轉義字符 43
3.1.3 字符串格式化 44
3.1.4 任務的實現 46
課堂練習 46
任務 3.2 字符串的操作 47
3.2.1 字符串的操作符 47
3.2.2 操作字符串的方法 48
3.2.3 任務的實現 51
課堂練習 52
任務 3.3 實現數據的輸入和輸出 52
3.3.1 輸入函數 53
3.3.2 輸出函數 53
實訓 54
實訓 1 英文詩歌中的數據統計 54
實訓 2 美元與人民幣的雙向轉換程序 55
小結 56
課後習題 56
第 4 章 Python 程序的流程 58
任務 4.1 結構化程序設計 59
4.1.1 程序流程圖 59
4.1.2 結構化程序設計的 3 種流程 59
任務 4.2 應用分支結構實現流程控制 60
4.2.1 簡單分支結構:if 語句 60
4.2.2 選擇分支結構:if…else 語句 60
4.2.3 多重分支結構:if…elif…else 語句 61
4.2.4 分支的嵌套 62
4.2.5 任務的實現 62
課堂練習 63
任務 4.3 應用循環結構實現代碼重復執行 63
4.3.1 遍歷循環:for 語句 64
4.3.2 條件循環:while 語句 65
4.3.3 循環的嵌套 66
4.3.4 任務的實現 67
課堂練習 68
任務 4.4 更靈活的流程控制 68
4.4.1 跳轉語句 68
4.4.2 pass 語句 69
4.4.3 循環結構中的 else 語句 70
4.4.4 任務的實現 70
課堂練習 71
實訓 71
實訓 1 使用蒙特卡羅方法計算圓周率 71
實訓 2 設計一個登錄驗證程序 73
項目 統計學生成績程序的實現 73
小結 74
課後習題 75
第 5 章 Python 的組合數據類型 78
任務 5.1 序列類型 79
5.1.1 序列類型的操作符 79
5.1.2 序列類型的常用方法 80
5.1.3 任務的實現 80
課堂練習 80
任務 5.2 使用列表管理數據 81
5.2.1 列表的基本操作 81
5.2.2 列表的方法 82
5.2.3 遍歷列表 83
5.2.4 列表推導式 84
5.2.5 任務的實現 85
課堂練習 85
任務 5.3 使用元組管理不可變數據 86
5.3.1 元組的基本操作 86
5.3.2 元組與列表的轉換 87
5.3.3 生成器推導式* 87
5.3.4 序列解包* 87
5.3.5 任務的實現 89
課堂練習 90
任務 5.4 使用字典管理鍵值對數據 90
5.4.1 字典的基本操作 90
5.4.2 字典的常用方法 92
5.4.3 任務的實現 95
課堂練習 95
任務 5.5 集合數據類型的應用 96
5.5.1 集合的基本操作 96
5.5.2 集合運算* 98
5.5.3 任務的實現 99
實訓 99
實訓 1 英文的詞頻統計 99
實訓 2 二分查找的實現 100
項目 模擬實現購物車功能 101
小結 102
課後習題 103
第 6 章 用函數實現代碼復用 106
任務 6.1 定義和調用函數 107
6.1.1 函數的定義 107
6.1.2 函數的調用 108
6.1.3 函數的嵌套 109
6.1.4 任務的實現 109
課堂練習 110
任務 6.2 函數的參數和返回值 110
6.2.1 函數的參數 111
6.2.2 默認參數 112
6.2.3 可變參數 113
6.2.4 函數的返回值 115
6.2.5 lambda 函數 116
6.2.6 任務的實現 117
課堂練習 117
任務 6.3 遞歸函數 118
6.3.1 遞歸函數的定義和調用 118
6.3.2 任務的實現 119
課堂練習 120
任務 6.4 變量的作用域 120
6.4.1 局部變量 121
6.4.2 全局變量 121
6.4.3 global 語句 123
課堂練習 123
實訓 124
實訓 1 求兩個數的最大公約數和最小公倍數 124
實訓 2 應用泰勒展開式求 e x 的近似值 125
項目 ISBN 識別碼的計算 126
小結 128
課後習題 128
第 7 章 Python 的內置函數和標準庫 131
任務 7.1 Python 的內置函數 132
7.1.1 數學運算函數 132
7.1.2 字符串運算函數 133
7.1.3 轉換函數 133
7.1.4 序列操作函數 134
7.1.5 Python 操作相關函數 138
課堂練習 140
任務 7.2 應用標準庫實現計算功能 140
7.2.1 math 庫 141
7.2.2 random 庫 142
7.2.3 datetime 庫 143
7.2.4 任務的實現 147
課堂練習 148
任務 7.3 應用 turtle 庫繪制圖形 148
7.3.1 turtle 的繪圖坐標系 148
7.3.2 turtle 的畫筆控制函數 149
7.3.3 turtle 的圖形繪制函數 149
課堂練習 152
實訓 153
實訓 1 求兩個共點力的合力 153
實訓 2 多邊螺旋圖形的繪制 153
小結 154
課後習題 155
第 8 章 使用模塊和庫編程 157
任務 8.1 導入和執行模塊 158
8.1.1 模塊的概念 158
8.1.2 導入模塊 159
8.1.3 執行模塊 160
8.1.4 模塊搜索路徑 161
8.1.5 __name__屬性 162
8.1.6 包的概念 163
8.1.7 任務的實現 164
課堂練習 165
任務 8.2 第三方庫的安裝和應用 166
8.2.1 第三方庫簡介 166
8.2.2 pip 工具的使用 166
8.2.3 Python 常用的第三方庫 168
8.2.4 使用 PyInstaller 庫打包文件 169
8.2.5 任務的實現 170
課堂練習 171
任務 8.3 應用 jieba 庫分詞 171
8.3.1 jieba 庫簡介 171
8.3.2 jieba 庫的分詞函數 172
8.3.3 中文的詞頻統計 173
8.3.4 任務的實現 176
課堂練習 176
實訓 177
實訓 1 使用 Matplotlib 庫繪制折線圖和條形圖177
實訓 2 統計中文文本文件中的高頻詞 178
小結 179
課後習題 179
第 9 章 Python 的文件操作 181
任務 9.1 文件操作概述 182
9.1.1 認識文件的類型和編碼方式 182
9.1.2 打開與關閉文件 183
課堂練習 184
任務 9.2 讀/寫文件中的數據 184
9.2.1 讀文件數據的方法 185
9.2.2 向文件寫數據的方法 187
9.2.3 文件指針定位的方法 188
9.2.4 讀/寫二進制文件的方法 189
9.2.5 任務的實現 190
課堂練習 191
任務 9.3 文件的目錄操作 191
9.3.1 文件和目錄操作的函數 192
9.3.2 復制、刪除及重命名文件 193
9.3.3 文件目錄的管理 194
9.3.4 任務的實現 194
課堂練習 195
任務 9.4 讀/寫 CSV 文件 195
9.4.1 CSV 文件介紹 195
9.4.2 讀/寫 CSV 文件的方法 196
9.4.3 任務的實現 199
課堂練習 200
實訓 200
實訓 1 為文本文件添加行號 200
實訓 2 日誌文件的建立 201
項目 文件加密和解密的實現 202
小結 203
課後習題 203
第 10 章 Python 的異常處理 207
任務 10.1 異常處理概述 207
10.1.1 異常的概念 208
10.1.2 異常示例 208
10.1.3 常見的異常類型 209
10.1.4 任務的實現 211
課堂練習 211
任務 10.2 捕獲異常 212
10.2.1 try…except 語句 212
10.2.2 else 語句和 finally 語句 213
10.2.3 捕獲所有的異常 214
10.2.4 任務的實現 216
課堂練習 216
任務 10.3 拋出異常 217
10.3.1 raise 語句 217
10.3.2 拋出異常示例 218
10.3.3 任務的實現 219
課堂練習 219
任務 10.4 斷言與上下文管理 220
10.4.1 斷言 220
10.4.2 上下文管理 221
10.4.3 任務的實現 222
實訓 222
實訓 1 模擬競賽現場成績計算的過程 222
實訓 2 數值輸入的異常處理並計算中位數 223
小結 224
課後習題 225
第 11 章 Python 的數據庫編程 227
任務 11.1 瞭解數據庫基礎知識 228
11.1.1 數據庫的概念 228
11.1.2 關系型數據庫 229
任務 11.2 下載和創建 SQLite 數據庫 230
11.2.1 SQLite 數據庫簡介 230
11.2.2 下載 SQLite 數據庫 230
11.2.3 SQLite3 的常用命令 231
11.2.4 SQLite3 的數據類型 231
11.2.5 SQLite3 的函數 232
11.2.6 Python 的 sqlite3 模塊 233
11.2.7 創建 SQLite3 數據庫 234
11.2.8 任務的實現 234
課堂練習 234
任務 11.3 使用 SQL 操作數據庫 235
11.3.1 數據表的建立和刪除 235
11.3.2 向表中添加列和行 236
11.3.3 修改和刪除表中的數據 237
11.3.4 查詢數據 237
11.3.5 任務的實現 238
課堂練習 239
任務 11.4 應用 sqlite3 模塊編程 239
11.4.1 訪問數據庫的過程 239
11.4.2 任務的實現 241
課堂練習 242
實訓 242
實訓 1 訪問數據庫,實現登錄驗證功能 242
實訓 2 向 SQLite3 數據庫導入 Excel 工作表中的數據 243
小結 244
課後習題 245