關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
瘋狂Python講義 讀者對(duì)象:Python語(yǔ)言愛(ài)好者,人工智能和大數(shù)據(jù)入門(mén)相關(guān)研究人員,計(jì)算機(jī)及相關(guān)專(zhuān)業(yè)在校生
本書(shū)全面而深入介紹了Python編程的相關(guān)內(nèi)容,全書(shū)內(nèi)容大致可分為四個(gè)部分,第一部分系統(tǒng)講解了Python的基本語(yǔ)法結(jié)構(gòu)、函數(shù)編程、類(lèi)和對(duì)象、模塊和包、異常處理等;第二部分主要介紹Python常用的內(nèi)置模塊和包,這部分包括正則表達(dá)式支持IO編程、數(shù)據(jù)庫(kù)編程、并發(fā)編程、網(wǎng)絡(luò)通信編程等內(nèi)容;第三部分主要介紹Python開(kāi)發(fā)工程化方面的內(nèi)容;第四部分則屬于“Python項(xiàng)目實(shí)戰(zhàn)”,這部分通過(guò)項(xiàng)目介紹了Python游戲開(kāi)發(fā)、大數(shù)據(jù)展示、網(wǎng)絡(luò)爬蟲(chóng)等熱門(mén)技能,尤其是網(wǎng)絡(luò)爬蟲(chóng)和大數(shù)據(jù)展示,均是當(dāng)下Python最熱的就業(yè)崗位。
李剛,十余年軟件開(kāi)發(fā)從業(yè)經(jīng)驗(yàn),瘋狂軟件教育中心教學(xué)總監(jiān)。瘋狂Java實(shí)訓(xùn)營(yíng)創(chuàng)始人,瘋狂Java體系原創(chuàng)圖書(shū)作者。廣東技術(shù)師范學(xué)院計(jì)算機(jī)科學(xué)系兼職副教授,CSDN特邀講師。培訓(xùn)的學(xué)生已在騰訊、阿里、華為、IBM、網(wǎng)易、唯品會(huì)、電信盈科等名企就職。國(guó)內(nèi)知名高端IT技術(shù)圖書(shū)作家,已出版《瘋狂Java講義》《瘋狂Android講義》《輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》《瘋狂前端開(kāi)發(fā)講義》《瘋狂HTML5/CSS3/JavaScript講義》《瘋狂iOS講義(基礎(chǔ)篇)(提高篇)》《瘋狂XML講義》《經(jīng)典JavaEE企業(yè)應(yīng)用實(shí)戰(zhàn)》《Struts 2.x quanwei指南》等著作。其中瘋狂Java體系圖書(shū)均已沉淀多年,贏得極高的市場(chǎng)認(rèn)同,多次重印,多部著作印刷數(shù)量超過(guò)10萬(wàn)冊(cè),并被多所“985”“211”院校選作教材,部分圖書(shū)已被翻譯成繁體中文版,授權(quán)到中國(guó)臺(tái)灣地區(qū)。
目 錄
第1章 Python語(yǔ)言概述和開(kāi)發(fā)環(huán)境 1
1.1 Python簡(jiǎn)介 2
1.1.1 Python簡(jiǎn)史 2
1.1.2 Python的特點(diǎn) 3
1.2 Python程序運(yùn)行機(jī)制 3
1.3 開(kāi)發(fā)Python的準(zhǔn)備 4
1.3.1 在Windows上安裝Python 4
1.3.2 在Linux上安裝Python 6
1.3.3 在Mac OS X上安裝Python 7
1.4 第一個(gè)Python程序 7
1.4.1 編輯Python源程序 7
1.4.2 使用IDLE運(yùn)行Python程序 8
1.4.3 使用命令行工具運(yùn)行Python程序 8
1.5 交互式解釋器 10
1.6 本章小結(jié) 11
本章練習(xí) 11
第2章 變量和簡(jiǎn)單類(lèi)型 12
2.1 單行注釋和多行注釋 13
2.2 變量 14
2.2.1 Python是弱類(lèi)型語(yǔ)言 14
2.2.2 使用print函數(shù)輸出變量 15
2.2.3 變量的命名規(guī)則 16
2.2.4 Python的關(guān)鍵字和內(nèi)置函數(shù) 17
2.3 數(shù)值類(lèi)型 18
2.3.1 整型 18
2.3.2 浮點(diǎn)型 20
2.3.3 復(fù)數(shù) 20
2.4 字符串入門(mén) 21
2.4.1 字符串和轉(zhuǎn)義字符 21
2.4.2 拼接字符串 22
2.4.3 repr和字符串 22
2.4.4 使用input和raw_input獲取用戶輸入 23
2.4.5 長(zhǎng)字符串 24
2.4.6 原始字符串 24
2.4.7 字節(jié)串(bytes) 25
2.5 深入使用字符串 27
2.5.1 轉(zhuǎn)義字符 27
2.5.2 字符串格式化 27
2.5.3 序列相關(guān)方法 29
2.5.4 大小寫(xiě)相關(guān)方法 30
2.5.5 刪除空白 32
2.5.6 查找、替換相關(guān)方法 32
2.5.7 分割、連接方法 34
2.6 運(yùn)算符 34
2.6.1 賦值運(yùn)算符 34
2.6.2 算術(shù)運(yùn)算符 35
2.6.3 位運(yùn)算符 37
2.6.4 擴(kuò)展后的賦值運(yùn)算符 40
2.6.5 索引運(yùn)算符 40
2.6.6 比較運(yùn)算符與bool類(lèi)型 40
2.6.7 邏輯運(yùn)算符 41
2.6.8 三目運(yùn)算符 42
2.6.9 in運(yùn)算符 44
2.6.10 運(yùn)算符的結(jié)合性和優(yōu)先級(jí) 44
2.7 本章小結(jié) 45
本章練習(xí) 45
第3章 列表、元組和字典 46
3.1 序列簡(jiǎn)介 47
3.1.1 Python的序列 47
3.1.2 創(chuàng)建列表和元組 47
3.2 列表和元組的通用用法 48
3.2.1 通過(guò)索引使用元素 48
3.2.2 子序列 48
3.2.3 加法 49
3.2.4 乘法 49
3.2.5 in運(yùn)算符 50
3.2.6 長(zhǎng)度、最大值和最小值 50
3.2.7 序列封包和序列解包 51
3.3 使用列表 52
3.3.1 創(chuàng)建列表 52
3.3.2 增加列表元素 53
3.3.3 刪除列表元素 54
3.3.4 修改列表元素 55
3.3.5 列表的其他常用方法 56
3.4 使用字典 58
3.4.1 字典入門(mén) 58
3.4.2 創(chuàng)建字典 58
3.4.3 字典的基本用法 59
3.4.4 字典的常用方法 60
3.4.5 使用字典格式化字符串 63
3.5 本章小結(jié) 63
本章練習(xí) 64
第4章 流程控制 65
4.1 順序結(jié)構(gòu) 66
4.2 if分支結(jié)構(gòu) 66
4.2.1 不要忘記縮進(jìn) 67
4.2.2 不要隨意縮進(jìn) 69
4.2.3 不要遺忘冒號(hào) 70
4.2.4 if條件的類(lèi)型 70
4.2.5 if分支的邏輯錯(cuò)誤 71
4.2.6 if表達(dá)式 72
4.2.7 pass語(yǔ)句 72
4.3 斷言 73
4.4 循環(huán)結(jié)構(gòu) 73
4.4.1 while循環(huán) 73
4.4.2 使用while循環(huán)遍歷列表和元組 74
4.4.3 for-in循環(huán) 75
4.4.4 使用for-in循環(huán)遍歷列表和元組 76
4.4.5 使用for-in循環(huán)遍歷字典 77
4.4.6 循環(huán)使用else 78
4.4.7 嵌套循環(huán) 79
4.4.8 for表達(dá)式 80
4.4.9 常用工具函數(shù) 82
4.5 控制循環(huán)結(jié)構(gòu) 83
4.5.1 使用break結(jié)束循環(huán) 83
4.5.2 使用continue忽略本次循環(huán)的剩下語(yǔ)句 85
4.5.3 使用return結(jié)束方法 85
4.6 牛刀小試 86
4.6.1 數(shù)字轉(zhuǎn)人民幣讀法 86
4.6.2 繞圈圈 87
4.6.3 控制臺(tái)五子棋 89
4.6.4 控制臺(tái)超市系統(tǒng) 90
4.7 本章小結(jié) 94
本章練習(xí) 94
第5章 函數(shù)和lambda表達(dá)式 97
5.1 函數(shù)入門(mén) 98
5.1.1 理解函數(shù) 98
5.1.2 定義函數(shù)和調(diào)用函數(shù) 99
5.1.3 為函數(shù)提供文檔 100
5.1.4 多個(gè)返回值 100
5.1.5 遞歸函數(shù) 101
5.2 函數(shù)的參數(shù) 102
5.2.1 關(guān)鍵字(keyword)參數(shù) 102
5.2.2 參數(shù)默認(rèn)值 103
5.2.3 參數(shù)收集(個(gè)數(shù)可變的參數(shù)) 105
5.2.4 逆向參數(shù)收集 106
5.2.5 函數(shù)的參數(shù)傳遞機(jī)制 107
5.2.6 變量作用域 111
5.3 局部函數(shù) 113
5.4 函數(shù)的高級(jí)內(nèi)容 114
5.4.1 使用函數(shù)變量 115
5.4.2 使用函數(shù)作為函數(shù)形參 115
5.4.3 使用函數(shù)作為返回值 116
5.5 局部函數(shù)與lambda表達(dá)式 117
5.5.1 回顧局部函數(shù) 117
5.5.2 使用lambda表達(dá)式代替局部函數(shù) 118
5.6 本章小結(jié) 119
本章練習(xí) 119
第6章 類(lèi)和對(duì)象 120
6.1 類(lèi)和對(duì)象 121
6.1.1 定義類(lèi) 121
6.1.2 對(duì)象的產(chǎn)生和使用 122
6.1.3 對(duì)象的產(chǎn)生和使用 123
6.1.4 實(shí)例方法和自動(dòng)綁定self 124
6.2 方法 126
6.2.1 類(lèi)也能調(diào)用實(shí)例方法 126
6.2.2 類(lèi)方法與靜態(tài)方法 128
6.2.3 @函數(shù)裝飾器 128
6.2.4 再論類(lèi)命名空間 131
6.3 成員變量 131
6.3.1 類(lèi)變量和實(shí)例變量 131
6.3.2 使用property函數(shù)定義屬性 134
6.4 隱藏和封裝 137
6.5 類(lèi)的繼承 139
6.5.1 繼承的語(yǔ)法 139
6.5.2 關(guān)于多繼承 140
6.5.3 重寫(xiě)父類(lèi)的方法 140
6.5.4 使用未綁定方法調(diào)用被重寫(xiě)的方法 141
6.5.5 使用super函數(shù)調(diào)用父類(lèi)的構(gòu)造方法 142
6.6 Python的動(dòng)態(tài)性 143
6.6.1 動(dòng)態(tài)屬性與__slots__ 144
6.6.2 使用type()函數(shù)定義類(lèi) 145
6.6.3 使用metaclass 146
6.7 多態(tài) 147
6.7.1 多態(tài)性 147
6.7.2 檢查類(lèi)型 149
6.8 枚舉類(lèi) 150
6.8.1 枚舉入門(mén) 150
6.8.2 枚舉的構(gòu)造器 152
6.9 本章小結(jié) 153
本章練習(xí) 153
第7章 異常處理 154
7.1 異常概述 155
7.2 異常處理機(jī)制 156
7.2.1 使用try...except捕獲異常 156
7.2.2 異常類(lèi)的繼承體系 157
7.2.3 多異常捕獲 159
7.2.4 訪問(wèn)異常信息 160
7.2.5 else塊 161
7.2.6 使用finally回收資源 163
7.2.7 異常處理嵌套 165
7.3 使用raise引發(fā)異常 165
7.3.1 引發(fā)異常 165
7.3.2 自定義異常類(lèi) 166
7.3.3 except和raise同時(shí)使用 167
7.3.4 raise不需要參數(shù) 168
7.4 Python的異常傳播軌跡 168
7.5 異常處理規(guī)則 170
7.5.1 不要過(guò)度使用異常 171
7.5.2 不要使用過(guò)于龐大的try塊 172
7.5.3 不要忽略捕獲到的異常 172
7.6 本章小結(jié) 172
本章練習(xí) 173
第8章 Python類(lèi)的特殊方法 174
8.1 常見(jiàn)的特殊方法 175
8.1.1 重寫(xiě)__repr__方法 175
8.1.2 析構(gòu)方法:__del__ 176
8.1.3 __dir__方法 177
8.1.4 __dict__屬性 178
8.1.5 __getattr__、__setattr__等 178
8.2 與反射相關(guān)的屬性和方法 180
8.2.1 動(dòng)態(tài)操作屬性 180
8.2.2 __call__屬性 182
8.3 與序列相關(guān)的特殊方法 183
8.3.1 序列相關(guān)方法 183
8.3.2 實(shí)現(xiàn)迭代器 185
8.3.3 擴(kuò)展列表、元組和字典 186
8.4 生成器 186
8.4.1 創(chuàng)建生成器 187
8.4.2 生成器的方法 189
8.5 運(yùn)算符重載的特殊方法 191
8.5.1 與數(shù)值運(yùn)算符相關(guān)的特殊方法 191
8.5.2 與比較運(yùn)算符相關(guān)的特殊方法 194
8.5.3 與單目運(yùn)算符相關(guān)的特殊方法 195
8.5.4 與類(lèi)型轉(zhuǎn)換相關(guān)的特殊方法 196
8.5.5 與常見(jiàn)的內(nèi)建函數(shù)相關(guān)的特殊方法 197
8.6 本章小結(jié) 198
本章練習(xí) 198
第9章 模塊和包 199
9.1 模塊化編程 200
9.1.1 導(dǎo)入模塊的語(yǔ)法 200
9.1.2 定義模塊 203
9.1.3 為模塊編寫(xiě)說(shuō)明文檔 203
9.1.4 為模塊編寫(xiě)測(cè)試代碼 204
9.2 加載模塊 205
9.2.1 使用環(huán)境變量 205
9.2.2 默認(rèn)的模塊加載路徑 208
9.2.3 導(dǎo)入模塊的本質(zhì) 209
9.2.4 模塊的__all__變量 211
9.3 使用包 212
9.3.1 什么是包 212
9.3.2 定義包 212
9.3.3 導(dǎo)入包內(nèi)成員 214
9.4 查看模塊內(nèi)容 216
9.4.1 模塊包含什么 216
9.4.2 使用__doc__屬性查看文檔 217
9.4.3 使用__file__屬性查看模塊的源文件路徑 218
9.5 本章小結(jié) 218
本章練習(xí) 218
第10章 常見(jiàn)模塊 219
10.1 sys 220
10.1.1 獲取運(yùn)行參數(shù) 222
10.1.2 動(dòng)態(tài)修改模塊加載路徑 223
10.2 os模塊 223
10.3 random 225
10.4 time 227
10.5 JSON支持 230
10.5.1 JSON的基本知識(shí) 230
10.5.2 Python的JSON支持 232
10.6 正則表達(dá)式 236
10.6.1 Python的正則表達(dá)式支持 236
10.6.2 正則表達(dá)式旗標(biāo) 241
10.6.3 創(chuàng)建正則表達(dá)式 242
10.6.4 子表達(dá)式 244
10.6.5 貪婪模式與勉強(qiáng)模式 246
10.7 容器相關(guān)類(lèi) 247
10.7.1 set和frozenset 248
10.7.2 雙端隊(duì)列(deque) 250
10.7.3 Python的堆操作 253
10.8 collections下的容器支持 255
10.8.1 ChainMap對(duì)象 255
10.8.2 Counter對(duì)象 257
10.8.3 defaultdict對(duì)象 260
10.8.4 namedtuple工廠函數(shù) 261
10.8.5 OrderedDict對(duì)象 262
10.9 函數(shù)相關(guān)模塊 264
10.9.1 itertools模塊的功能函數(shù) 264
10.9.2 functools模塊的功能函數(shù) 267
10.10 本章小結(jié) 273
本章練習(xí) 273
第11章 圖形界面編程 275
11.1 Python的GUI庫(kù) 276
11.2 Tkinter GUI編程的組件 277
11.3 布局管理器 283
11.3.1 Pack布局管理器 283
11.3.2 Grid布局管理器 285
11.3.3 Place布局管理器 287
11.4 事件處理 288
11.4.1 簡(jiǎn)單的事件處理 289
11.4.2 事件綁定 289
11.5 Tkinter常用組件 293
11.5.1 使用ttk組件 293
11.5.2 Variable類(lèi) 294
11.5.3 使用compound選項(xiàng) 295
11.5.4 Entry和Text組件 297
11.5.5 Radiobutton和Checkbutton組件 300
11.5.6 Listbox和Combobox組件 303
11.5.7 Spinbox組件 308
11.5.8 Scale和LabeledScale組件 309
11.5.9 Labelframe組件 312
11.5.10 Panedwindow組件 314
11.5.11 OptionMenu組件 316
11.6 對(duì)話框(Dialog) 318
11.6.1 普通對(duì)話框 318
11.6.2 自定義模式、非模式對(duì)話框 320
11.6.3 輸入對(duì)話框 322
11.6.4 文件對(duì)話框 324
11.6.5 顏色選擇對(duì)話框 326
11.6.6 消息框 327
11.7 菜單 330
11.7.1 窗口菜單 330
11.7.2 右鍵菜單 334
11.8 在Canvas中繪圖 336
11.8.1 Tkinter Canvas的繪制功能 336
11.8.2 操作圖形項(xiàng)的標(biāo)簽 343
11.8.3 操作圖形項(xiàng) 345
11.8.4 為圖形項(xiàng)綁定事件 349
11.8.5 繪制動(dòng)畫(huà) 354
11.9 本章小結(jié) 357
本章練習(xí) 357
第12章 文件I/O 358
12.1 使用pathlib模塊操作目錄 359
12.1.1 PurePath的基本功能 360
12.1.2 PurePath的屬性和方法 362
12.1.3 Path的功能和用法 363
12.2 使用os.path操作目錄 365
12.3 使用fnmatch處理文件名匹配 366
12.4 打開(kāi)文件 367
12.4.1 文件打開(kāi)模式 367
12.4.2 緩沖 368
12.5 讀取文件 369
12.5.1 按字節(jié)或字符讀取 369
12.5.2 按行讀取 371
12.5.3 使用fileinput讀取多個(gè)輸入流 371
12.5.4 文件迭代器 372
12.5.5 管道輸入 373
12.5.6 使用with語(yǔ)句 374
12.5.7 使用linecache隨機(jī)讀取指定行 376
12.6 寫(xiě)文件 376
12.6.1 文件指針的概念 376
12.6.2 輸出內(nèi)容 377
12.7 os模塊的文件和目錄函數(shù) 378
12.7.1 與目錄相關(guān)的函數(shù) 379
12.7.2 與權(quán)限相關(guān)的函數(shù) 380
12.7.3 與文件訪問(wèn)相關(guān)的函數(shù) 381
12.8 使用tempfile模塊生成臨時(shí)文件和臨時(shí)目錄 383
12.9 本章小結(jié) 385
本章練習(xí) 385
第13章 數(shù)據(jù)庫(kù)編程 386
13.1 Python數(shù)據(jù)庫(kù)API簡(jiǎn)介 387
13.1.1 全局變量 387
13.1.2 數(shù)據(jù)庫(kù)API的核心類(lèi) 388
13.1.3 操作數(shù)據(jù)庫(kù)的基本流程 389
13.2 操作SQLite數(shù)據(jù)庫(kù) 389
13.2.1 創(chuàng)建數(shù)據(jù)表 390
13.2.2 使用SQLite Expert工具 391
13.2.3 使用序列重復(fù)執(zhí)行DML語(yǔ)句 393
13.2.4 執(zhí)行查詢(xún) 395
13.2.5 事務(wù)控制 396
13.2.6 執(zhí)行SQL腳本 397
13.2.7 創(chuàng)建自定義函數(shù) 398
13.2.8 創(chuàng)建聚集函數(shù) 399
13.2.9 創(chuàng)建比較函數(shù) 400
13.3 操作MySQL數(shù)據(jù)庫(kù) 401
13.3.1 下載和安裝MySQL數(shù)據(jù)庫(kù) 401
13.3.2 使用pip工具管理模塊 404
13.3.3 執(zhí)行DDL語(yǔ)句 405
13.3.4 執(zhí)行DML語(yǔ)句 407
13.3.5 執(zhí)行查詢(xún)語(yǔ)句 408
13.3.6 調(diào)用存儲(chǔ)過(guò)程 409
13.4 本章小結(jié) 410
本章練習(xí) 411
第14章 并發(fā)編程 412
14.1 線程概述 413
14.1.1 線程和進(jìn)程 413
14.1.2 多線程的優(yōu)勢(shì) 414
14.2 線程的創(chuàng)建和啟動(dòng) 415
14.2.1 調(diào)用Thread類(lèi)的構(gòu)造器創(chuàng)建線程 415
14.2.2 繼承Thread類(lèi)創(chuàng)建線程類(lèi) 417
14.3 線程的生命周期 418
14.3.1 新建和就緒狀態(tài) 418
14.3.2 運(yùn)行和阻塞狀態(tài) 419
14.3.3 線程死亡 420
14.4 控制線程 421
14.4.1 join線程 422
14.4.2 后臺(tái)線程 422
14.4.3 線程睡眠:sleep 423
14.5 線程同步 424
14.5.1 線程安全問(wèn)題 424
14.5.2 同步鎖(Lock) 425
14.5.3 死鎖 428
14.6 線程通信 430
14.6.1 使用Condition實(shí)現(xiàn)線程通信 430
14.6.2 使用隊(duì)列(Queue)控制線程通信 433
14.6.3 使用Event控制線程通信 434
14.7 線程池 436
14.7.1 使用線程池 437
14.7.2 獲取執(zhí)行結(jié)果 439
14.8 線程相關(guān)類(lèi) 440
14.8.1 線程局部變量 440
14.8.2 定時(shí)器 441
14.8.3 任務(wù)調(diào)度 442
14.9 多進(jìn)程 443
14.9.1 使用fork創(chuàng)建新進(jìn)程 443
14.9.2 使用multiprocessing.Process創(chuàng)建新進(jìn)程 444
14.9.3 Context和啟動(dòng)進(jìn)程的方式 446
14.9.4 使用進(jìn)程池管理進(jìn)程 448
14.9.5 進(jìn)程通信 449
14.10 本章小結(jié) 451
本章練習(xí) 451
第15章 網(wǎng)絡(luò)編程 452
15.1 網(wǎng)絡(luò)編程的基礎(chǔ)知識(shí) 453
15.1.1 網(wǎng)絡(luò)基礎(chǔ)知識(shí) 453
15.1.2 IP地址和端口號(hào) 454
15.2 Python的基本網(wǎng)絡(luò)支持 455
15.2.1 Python的網(wǎng)絡(luò)模塊概述 455
15.2.2 使用urllib.parse子模塊 456
15.2.3 使用urllib.request讀取資源 459
15.2.4 管理cookie 464
15.3 基于TCP協(xié)議的網(wǎng)絡(luò)編程 467
15.3.1 TCP協(xié)議基礎(chǔ) 467
15.3.2 使用socket創(chuàng)建TCP服務(wù)器端 468
15.3.3 使用socket通信 469
15.3.4 加入多線程 470
15.3.5 記錄用戶信息 472
15.3.6 半關(guān)閉的socket 477
15.3.7 selectors模塊 478
15.4 基于UDP協(xié)議的網(wǎng)絡(luò)編程 480
15.4.1 UDP協(xié)議基礎(chǔ) 480
15.4.2 使用socket發(fā)送和接收數(shù)據(jù) 481
15.4.3 使用UDP協(xié)議實(shí)現(xiàn)多點(diǎn)廣播 483
15.5 電子郵件支持 484
15.5.1 使用smtplib模塊發(fā)送郵件 484
15.5.2 使用poplib模塊收取郵件 488
15.6 本章小結(jié) 491
本章練習(xí) 491
第16章 文檔和測(cè)試 492
16.1 使用pydoc生成文檔 493
16.1.1 在控制臺(tái)中查看文檔 494
16.1.2 生成HTML文檔 495
16.1.3 啟動(dòng)本地服務(wù)器來(lái)查看文檔信息 495
16.1.4 查找模塊 496
16.2 軟件測(cè)試概述 497
16.2.1 軟件測(cè)試的概念和目的 497
16.2.2 軟件測(cè)試的分類(lèi) 498
16.2.3 開(kāi)發(fā)活動(dòng)和測(cè)試活動(dòng) 499
16.2.4 常見(jiàn)的Bug管理工具 499
16.3 文檔測(cè)試 500
16.4 單元測(cè)試 502
16.4.1 單元測(cè)試概述 502
16.4.2 單元測(cè)試的邏輯覆蓋 504
16.5 使用PyUnit(unittest) 506
16.5.1 PyUnit(unittest)的用法 507
16.5.2 運(yùn)行測(cè)試 510
16.5.3 使用測(cè)試包 511
16.5.4 測(cè)試固件之setUp和tearDown 513
16.5.5 跳過(guò)測(cè)試用例 515
16.6 本章小結(jié) 516
本章練習(xí) 516
第17章 打包和發(fā)布 517
17.1 使用zipapp模塊 518
17.1.1 生成可執(zhí)行的Python檔案包 518
17.1.2 創(chuàng)建獨(dú)立應(yīng)用 519
17.2 使用PyInstaller生成可執(zhí)行程序 520
17.2.1 安裝PyInstaller 520
17.2.2 生成可執(zhí)行程序 521
17.3 本章小結(jié) 523
本章練習(xí) 523
第18章 合金彈頭 524
18.1 合金彈頭游戲簡(jiǎn)介 525
18.2 pygame簡(jiǎn)介 525
18.2.1 安裝pygame 526
18.2.2 pygame常用的游戲API 527
18.3 開(kāi)發(fā)游戲界面組件 529
18.3.1 游戲界面分析 529
18.3.2 實(shí)現(xiàn)“怪物”類(lèi) 529
18.3.3 實(shí)現(xiàn)怪物管理 534
18.3.4 實(shí)現(xiàn)“子彈”類(lèi) 536
18.3.5 加載、管理游戲圖片 538
18.3.6 讓游戲“運(yùn)行”起來(lái) 540
18.4 增加“角色” 541
18.4.1 開(kāi)發(fā)“角色”類(lèi) 541
18.4.2 添加角色 547
18.5 合理繪制地圖 550
18.6 增加音效 551
18.7 增加游戲場(chǎng)景 554
18.8 本章小結(jié) 558
本章練習(xí) 558
第19章 數(shù)據(jù)可視化 559
19.1 使用Matplotlib生成數(shù)據(jù)圖 560
19.1.1 安裝Matplotlib包 560
19.1.2 Matplotlib數(shù)據(jù)圖入門(mén) 561
19.1.3 管理圖例 562
19.1.4 管理坐標(biāo)軸 565
19.1.5 管理多個(gè)子圖 566
19.2 功能豐富的數(shù)據(jù)圖 570
19.2.1 餅圖 570
19.2.2 柱狀圖 571
19.2.3 水平柱狀圖 573
19.2.4 散點(diǎn)圖 574
19.2.5 等高線圖 576
19.2.6 3D圖形 577
19.3 使用Pygal生成數(shù)據(jù)圖 578
19.3.1 安裝Pygal包 578
19.3.2 Pygal數(shù)據(jù)圖入門(mén) 578
19.3.3 配置Pygal數(shù)據(jù)圖 580
19.4 Pygal支持的常見(jiàn)數(shù)據(jù)圖 581
19.4.1 折線圖 581
19.4.2 水平柱狀圖和水平折線圖 581
19.4.3 疊加柱狀圖和疊加折線圖 582
19.4.4 餅圖 583
19.4.5 點(diǎn)圖 584
19.4.6 儀表(Gauge)圖 585
19.4.7 雷達(dá)圖 586
19.5 處理數(shù)據(jù) 587
19.5.1 CSV文件格式 587
19.5.2 JSON數(shù)據(jù) 590
19.5.3 數(shù)據(jù)清洗 593
19.5.4 讀取網(wǎng)絡(luò)數(shù)據(jù) 595
19.6 本章小結(jié) 597
本章練習(xí) 597
第20章 網(wǎng)絡(luò)爬蟲(chóng) 598
20.1 Scrapy簡(jiǎn)介 599
20.1.1 了解Scrapy 599
20.1.2 安裝Scrapy 600
20.2 使用爬蟲(chóng)爬取、分析招聘信息 601
20.2.1 創(chuàng)建Scrapy項(xiàng)目 601
20.2.2 使用shell調(diào)試工具 603
20.2.3 Scrapy開(kāi)發(fā)步驟 606
20.2.4 使用JSON導(dǎo)出信息 611
20.2.5 將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù) 611
20.2.6 使用Pygal展示招聘信息 612
20.3 處理反爬蟲(chóng) 613
20.3.1 使用shell調(diào)試工具分析目標(biāo)站點(diǎn) 614
20.3.2 使用Scrapy爬取高清圖片 616
20.3.3 應(yīng)對(duì)反爬蟲(chóng)的常見(jiàn)方法 618
20.3.4 整合Selenium模擬瀏覽器行為 620
20.4 本章小結(jié) 624
本章練習(xí) 624
你還可能感興趣
我要評(píng)論
|