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