Python程序設計——從基礎入門到實戰(zhàn)應用(微課版)(第2版)
定 價:69.8 元
當前圖書已被 1 所學校薦購過!
查看明細
- 作者:王雷春
- 出版時間:2025/9/1
- ISBN:9787121510458
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP312.8
- 頁碼:320
- 紙張:
- 版次:01
- 開本:16開
本書以Python作為實現(xiàn)工具,介紹程序設計的基本思想和方法,培養(yǎng)學生利用Python解決實際問題的能力。本書分為兩部分:教學篇和實驗篇。教學篇共15章:第1章介紹Python基本知識與概念,開發(fā)環(huán)境,程序開發(fā)步驟,程序結構與編碼規(guī)范,輸入、輸出函數(shù)等;第2章介紹數(shù)據(jù)類型、常量和變量、運算符、常用特殊內(nèi)置函數(shù)、程序調試等;第3章介紹程序設計結構,包括順序結構、選擇結構和循環(huán)結構;第4章介紹組合數(shù)據(jù)的使用方法,包括列表、元組、字典和集合;第5章介紹函數(shù)的定義和調用、參數(shù)類型、特殊函數(shù)、裝飾器及變量作用域等;第6章介紹類與對象,類的成員和方法,屬性,類的繼承與多態(tài),抽象類等;第7章介紹常用標準庫模塊,常用第三方庫及模塊的使用,自定義模塊的創(chuàng)建、調用方法;第8章介紹正則表達式的語法規(guī)則、使用正則表達式模塊匹配和過濾字符串的步驟與方法等;第9章介紹文本文件和二進制文件的訪問方法;第10章介紹程序異常處理和單元測試的方法與步驟;第11章介紹在Python程序中訪問不同類型數(shù)據(jù)庫的方法;第12章介紹基于第三方庫wxPython的圖形用戶界面程序設計;第13章介紹多進程與多線程的創(chuàng)建、使用、通信、同步等;第14章介紹網(wǎng)絡程序設計,包括基于TCP和UDP的套接字(Socket)編程、Web編程等;第15章介紹人工智能的基本概念、使用Sklearn庫和TensorFlow框架進行人工智能開發(fā)的初步知識。實驗篇包括精選的、與各章知識對應的實驗題目,以方便讀者上機練習。本書可作為高等學校計算機程序設計課程的教材,也可供Python從業(yè)者學習和作為工具書使用。
王雷春,武漢大學計算機專業(yè)博士,湖北大學計算機與信息工程學院副教授,先后主持和參與多項國家863項目、國家自然科學基金、省部級基金課題和橫向項目。負責校Python程序設計、Java、VB、數(shù)據(jù)庫應用技的教學工作。
第1部分 教學篇
第1章 Python初步 1
1.1 概述 1
1.1.1 Python簡介 1
1.1.2 Python的特點 2
1.1.3 Python的應用 2
1.2 開發(fā)環(huán)境 3
1.2.1 Python版本 3
1.2.2 常用開發(fā)環(huán)境 3
1.2.3 Python下載和安裝 4
1.2.4 PyCharm下載和安裝 5
1.2.5 第三方庫安裝 6
1.3 程序開發(fā) 8
1.3.1 程序運行方式 8
1.3.2 使用Python自帶工具開發(fā)Python程序 8
1.3.3 使用PyCharm開發(fā)Python程序 11
1.4 程序結構和編碼規(guī)范 12
1.4.1 文件類型 12
1.4.2 代碼結構 13
1.4.3 程序編碼規(guī)范 14
1.5 輸入、輸出函數(shù) 19
1.5.1 input()函數(shù) 19
1.5.2 print()函數(shù) 19
練習題1 21
第2章 Python編程基礎 23
2.1 數(shù)據(jù)類型 23
2.2 數(shù)字類型 24
2.2.1 整型 24
2.2.2 浮點類型 24
2.2.3 復數(shù)類型 25
2.2.4 布爾類型 26
2.2.5 數(shù)字類型轉換 26
2.2.6 分數(shù)和高精度實數(shù) 26
2.2.7 常用數(shù)學函數(shù) 27
2.3 字符串類型 28
2.3.1 字符串創(chuàng)建 29
2.3.2 字符串訪問 29
2.3.3 字符串運算 30
2.3.4 字符串函數(shù) 31
2.3.5 轉義字符 34
2.4 常量和變量 35
2.4.1 常量 35
2.4.2 變量 35
2.5 運算符和表達式 38
2.5.1 常用運算符和表達式 38
2.5.2 運算符優(yōu)先級 42
2.5.3 補充說明 43
2.6 內(nèi)置函數(shù) 43
2.6.1 內(nèi)置函數(shù)簡介 43
2.6.2 特殊內(nèi)置函數(shù) 44
2.7 程序調試 46
2.7.1 錯誤類型 46
2.7.2 在PyCharm中調試程序 47
2.8 典型案例 47
2.8.1 計算復雜算術運算表達式的值 47
2.8.2 求幾何面、幾何體的(表)面積或體積 48
2.8.3 解一元二次方程 48
2.8.4 驗證碼驗證 49
練習題2 49
第3章 程序設計結構 52
3.1 程序設計方法 52
3.1.1 面向過程程序設計 52
3.1.2 多文件Python程序 53
3.1.3 算法 53
3.2 順序結構 54
3.3 選擇結構 54
3.3.1 單分支結構 54
3.3.2 二分支結構 55
3.3.3 多分支結構 56
3.3.4 條件運算 57
3.3.5 選擇結構嵌套 58
3.4 循環(huán)結構 58
3.4.1 while語句 58
3.4.2 for語句 59
3.4.3 break、continue和pass語句 61
3.4.4 循環(huán)結構的嵌套 62
3.5 典型案例 62
3.5.1 計算部分級數(shù)和 62
3.5.2 使用選擇結構計算員工工資 63
3.5.3 使用遞推法求解實際問題 64
3.5.4 使用試湊法解方程 64
3.5.5 計算機猜數(shù)字 65
3.5.6 模擬自動飲料機 66
練習題3 67
第4章 組合數(shù)據(jù) 69
4.1 概述 69
4.2 列表 69
4.2.1 列表創(chuàng)建 70
4.2.2 列表訪問 70
4.2.3 列表復制和刪除 72
4.2.4 列表運算 73
4.2.5 列表統(tǒng)計 74
4.2.6 列表元素查找和排序 74
4.3 元組 75
4.3.1 元組創(chuàng)建 75
4.3.2 元組訪問 76
4.3.3 元組復制和刪除 77
4.3.4 元組運算 77
4.3.5 元組統(tǒng)計 77
4.4 字典 78
4.4.1 字典創(chuàng)建 78
4.4.2 字典操作 78
4.4.3 字典復制和刪除 80
4.5 集合 81
4.5.1 集合創(chuàng)建 81
4.5.2 集合訪問 81
4.5.3 集合復制和刪除 83
4.5.4 集合運算 83
4.5.5 集合統(tǒng)計 83
4.6 嵌套組合數(shù)據(jù) 84
4.7 典型案例 84
4.7.1 查找 84
4.7.2 排序 86
4.7.3 推導式 88
4.7.4 將列表作為堆棧和隊列使用 90
4.7.5 基于組合數(shù)據(jù)的游戲角色管理 90
練習題4 92
第5章 函數(shù) 94
5.1 概述 94
5.1.1 函數(shù)作用 94
5.1.2 函數(shù)分類 95
5.2 函數(shù)定義和調用 95
5.2.1 函數(shù)定義 95
5.2.2 函數(shù)調用 96
5.3 函數(shù)參數(shù) 97
5.3.1 參數(shù)傳遞 97
5.3.2 參數(shù)類型 98
5.3.3 參數(shù)傳遞的序列解包 99
5.4 特殊函數(shù) 99
5.4.1 匿名函數(shù) 99
5.4.2 遞歸函數(shù) 100
5.4.3 嵌套函數(shù) 101
5.5 裝飾器 102
5.5.1 裝飾器定義和調用 102
5.5.2 帶參數(shù)的裝飾器 103
5.6 變量作用域 104
5.7 典型案例 105
5.7.1 加密和解密 105
5.7.2 求最大公約數(shù) 106
5.7.3 使用裝飾器檢查函數(shù)參數(shù)合法性 107
5.7.4 模擬輪盤抽獎游戲 108
練習題5 109
第6章 面向對象程序設計 111
6.1 概述 111
6.1.1 面向對象程序設計思路 111
6.1.2 面向對象程序組成 113
6.1.3 面向對象程序設計任務 113
6.2 類和對象 113
6.2.1 類定義 113
6.2.2 對象創(chuàng)建和使用 114
6.3 類的成員 114
6.3.1 成員類型 114
6.3.2 內(nèi)置成員 116
6.4 類的方法 117
6.4.1 方法類型 117
6.4.2 屬性 118
6.4.3 特殊方法 119
6.5 類的繼承和多態(tài) 120
6.5.1 類的繼承 120
6.5.2 類的多態(tài) 121
6.6 抽象類和抽象方法 122
6.7 典型案例 122
練習題6 127
第7章 模塊、包和庫 129
7.1 概述 129
7.2 常用標準庫模塊 129
7.2.1 turtle模塊 130
7.2.2 random模塊 132
7.2.3 time模塊和datetime模塊 134
7.2.4 os模塊 136
7.2.5 sys模塊 138
7.2.6 timeit模塊 138
7.2.7 zlib模塊 139
7.3 常用第三方庫 139
7.3.1 NumPy庫 140
7.3.2 Pandas庫 143
7.3.3 SciPy庫 145
7.3.4 Matplotlib庫 147
7.3.5 Jieba庫 150
7.3.6 Pyinstaller庫 151
7.4 自定義模塊 152
7.5 典型案例 154
7.5.1 使用turtle模塊繪制表面填充的正方體 154
7.5.2 使用NumPy庫和Matplotlib庫分析股票 155
7.5.3 使用Pandas庫分析股票交易數(shù)據(jù) 157
7.5.4 使用圖像處理庫處理和顯示圖像 158
練習題7 159
第8章 正則表達式 161
8.1 概述 161
8.2 正則表達式語法 162
8.3 使用re模塊處理字符串 163
8.3.1 re模塊中的常用函數(shù) 164
8.3.2 常用正則表達式 167
8.4 典型案例 169
8.4.1 提取并匯總字符串中包含的費用 169
8.4.2 校驗字符串合法性 169
8.4.3 解析網(wǎng)頁內(nèi)容 171
練習題8 172
第9章 文件訪問 174
9.1 概述 174
9.2 文本文件訪問 174
9.2.1 打開文件 175
9.2.2 文件操作 176
9.3 二進制文件訪問 179
9.3.1 使用pickle模塊讀/寫二進制文件 179
9.3.2 使用struct模塊讀/寫二進制文件 180
9.3.3 使用marshal模塊讀/寫二進制文件 181
9.3.4 使用shelve模塊讀/寫二進制文件 182
9.4 典型案例 183
9.4.1 合并文件 183
9.4.2 CSV文件操作 184
練習題9 185
第10章 異常處理和單元測試 187
10.1 異常類和異常處理 187
10.1.1 異常和異常類 187
10.1.2 異常處理 188
10.1.3 斷言語句 190
10.2 單元測試 191
10.3 典型案例 192
10.3.1 自定義異常類 192
10.3.2 自定義測試類 193
練習題10 194
第11章 數(shù)據(jù)庫訪問 196
11.1 概述 196
11.2 常用關系數(shù)據(jù)庫訪問 197
11.2.1 常用關系數(shù)據(jù)庫簡介 197
11.2.2 Python DB-API規(guī)范 199
11.2.3 典型案例——訪問關系數(shù)據(jù)庫 200
11.3 非關系數(shù)據(jù)庫訪問 208
11.3.1 MongoDB 208
11.3.2 典型案例——訪問MongoDB 210
練習題11 212
第12章 圖形用戶界面編程 213
12.1 wxPython庫簡介 213
12.2 事件處理 214
12.3 常用控件 215
12.3.1 窗體 215
12.3.2 按鈕、標簽和文本框 216
12.3.3 單選按鈕、復選框 217
12.3.4 列表框、組合框 218
12.3.5 菜單 219
12.3.6 工具欄、狀態(tài)欄 222
12.3.7 對話框 224
12.4 布局 227
12.4.1 布局及其類型 227
12.4.2 wx.BoxSizer 228
12.4.3 wx.GridSizer 229
12.5 典型案例——專利管理系統(tǒng) 230
練習題12 237
第13章 多進程與多線程 238
13.1 Python中的多進程 238
13.1.1 進程的含義 238
13.1.2 創(chuàng)建進程 238
13.1.3 進程通信 240
13.1.4 進程同步 242
13.2 Python中的多線程 243
13.2.1 線程的含義 243
13.2.2 創(chuàng)建線程 244
13.2.3 線程通信 247
13.2.4 線程同步 247
13.3 典型案例 250
13.3.1 使用多進程導入/導出數(shù)據(jù) 250
13.3.2 使用多線程模擬彩票發(fā)行 251
練習題13 253
第14章 網(wǎng)絡程序設計 254
14.1 網(wǎng)絡協(xié)議 254
14.1.1 互聯(lián)網(wǎng)協(xié)議族 254
14.1.2 TCP/IP 254
14.2 套接字(Socket)編程 255
14.2.1 套接字簡介 255
14.2.2 基于TCP的套接字編程 256
14.2.3 基于UDP的套接字編程 257
14.3 Web編程 259
14.3.1 Web編程概述 259
14.3.2 Django 260
14.4 典型案例 267
14.4.1 簡單嗅探器 267
14.4.2 多線程端口掃描 268
14.4.3 使用網(wǎng)絡爬蟲爬取全國城市天氣信息 269
14.4.4 基于Django的個人博客 275
練習題14 283
第15章 Python與人工智能 284
15.1 概述 284
15.1.1 人工智能簡介 284
15.1.2 Python與人工智能的關系 286
15.2 機器學習 286
15.2.1 Sklearn 287
15.2.2 典型案例——使用線性回歸模型訓練、測試和預測數(shù)據(jù) 289
15.3 深度學習 290
15.3.1 TensorFlow 291
15.3.2 典型案例——識別模糊的手寫數(shù)字圖像 293
練習題15 297
第2部分 實驗篇
實驗1 Python初步 299
一、實驗目的 299
二、實驗內(nèi)容 299
實驗2 Python編程基礎 299
一、實驗目的 299
二、實驗內(nèi)容 300
實驗3 程序設計結構 300
一、實驗目的 300
二、實驗內(nèi)容 301
實驗4 組合數(shù)據(jù) 301
一、實驗目的 301
二、實驗內(nèi)容 302
實驗5 函數(shù) 302
一、實驗目的 302
二、實驗內(nèi)容 303
實驗6 面向對象程序設計 303
一、實驗目的 303
二、實驗內(nèi)容 304
實驗7 模塊、包和庫 304
一、實驗目的 304
二、實驗內(nèi)容 304
實驗8 正則表達式 305
一、實驗目的 305
二、實驗內(nèi)容 305
實驗9 文件訪問 305
一、實驗目的 305
二、實驗內(nèi)容 305
實驗10 異常處理和單元測試 306
一、實驗目的 306
二、實驗內(nèi)容 306
實驗11 數(shù)據(jù)庫訪問 306
一、實驗目的 306
二、實驗內(nèi)容 306
實驗12 圖形用戶界面編程 307
一、實驗目的 307
二、實驗內(nèi)容 307
實驗13 多進程與多線程 308
一、實驗目的 308
二、實驗內(nèi)容 308
實驗14 網(wǎng)絡程序設計 308
一、實驗目的 308
二、實驗內(nèi)容 308
實驗15 Python與人工智能 308
一、實驗目的 308
二、實驗內(nèi)容 309
參考文獻 310