定 價(jià):¥128.00
作 者: | 李寧 著 |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302507161 | 出版時(shí)間: | 2018-09-01 | 包裝: | 平裝 |
開(kāi)本: | 16 | 頁(yè)數(shù): | 656 | 字?jǐn)?shù): |
推薦序. 1
前言. 3
本書(shū)配套資源. 5
第一篇 Python基礎(chǔ)知識(shí)
第1章 初識(shí)Python 3
1.1 Python簡(jiǎn)介. 3
1.1.1 什么是Python 3
1.1.2 Python的應(yīng)用領(lǐng)域. 4
1.1.3 如何學(xué)好Python 5
1.1.4 Python API文檔. 6
1.2 搭建Python開(kāi)發(fā)環(huán)境. 8
1.2.1 安裝官方的Python運(yùn)行環(huán)境. 9
1.2.2 配置PATH環(huán)境變量. 11
1.2.3 安裝Anaconda Python開(kāi)發(fā)環(huán)境. 13
1.2.4 下載和安裝JDK 13
1.2.5 下載和安裝Eclipse 16
1.2.6 Python IDE(PyDev)安裝. 17
1.2.7 配置Python IDE(PyDev)開(kāi)發(fā)環(huán)境. 20
1.2.8 測(cè)試Python IDE(PyDev)開(kāi)發(fā)環(huán)境. 21
1.2.9 安裝PyCharm 22
1.2.10 配置PyCharm 23
1.2.11 Python中的REPL環(huán)境. 25
1.3 第一個(gè)Python程序. 26
1.4 調(diào)試Python程序. 26
1.5 小結(jié). 29
1.6 實(shí)戰(zhàn)與練習(xí). 29
第2章 Python語(yǔ)言基礎(chǔ). 30
2.1 Python程序中的基本要素. 30
2.1.1 導(dǎo)入Python模塊. 30
2.1.2 聲明變量. 32
2.1.3 清空Python控制臺(tái). 32
2.2 數(shù)字. 34
2.2.1 基礎(chǔ)知識(shí). 34
2.2.2 大整數(shù). 36
2.2.3 二進(jìn)制、八進(jìn)制和十六進(jìn)制. 36
2.2.4 數(shù)字的格式化輸出. 37
2.3 獲取用戶輸入. 39
2.4 函數(shù). 40
2.5 注釋. 41
2.6 字符串基礎(chǔ). 42
2.6.1 單引號(hào)字符串和轉(zhuǎn)義符. 42
2.6.2 拼接字符串. 43
2.6.3 保持字符串的原汁原味. 44
2.6.4 長(zhǎng)字符串. 46
2.7 小結(jié). 47
2.8 實(shí)戰(zhàn)與練習(xí). 47
第3章 條件、循環(huán)和其他語(yǔ)句. 49
3.1 神奇的print函數(shù). 49
3.2 有趣的賦值操作. 51
3.3 用縮進(jìn)創(chuàng)建代碼塊. 53
3.4 條件和條件語(yǔ)句. 53
3.4.1 布爾值和布爾變量. 54
3.4.2 條件語(yǔ)句(if、else和elif). 55
3.4.3 嵌套代碼塊. 56
3.4.4 比較運(yùn)算符. 57
3.4.5 斷言. 60
3.5 循環(huán). 62
3.5.1 while循環(huán). 62
3.5.2 for循環(huán). 63
3.5.3 跳出循環(huán). 65
3.5.4 循環(huán)中的else語(yǔ)句. 67
3.6 使用exec和eval執(zhí)行求值字符串. 69
3.7 小結(jié). 71
3.8 實(shí)戰(zhàn)與練習(xí). 71
第4章 列表和元組. 73
4.1 定義序列. 73
4.2 序列的基本操作. 74
4.2.1 通過(guò)索引操作序列元素. 74
4.2.2 分片. 77
4.2.3 序列相加. 83
4.2.4 序列的乘法. 84
4.2.5 檢查某個(gè)值是否屬于一個(gè)序列. 85
4.2.6 序列的長(zhǎng)度、最大值和最小值. 86
4.3 列表的基本操作. 87
4.4 列表方法. 89
4.5 元組. 93
4.6 小結(jié). 95
4.7 實(shí)戰(zhàn)與練習(xí). 95
第5章 字符串..................................................................................... 97
5.1 字符串的基本操作. 97
5.2 格式化字符串. 98
5.2.1 字符串格式化基礎(chǔ). 98
5.2.2 模板字符串. 100
5.2.3 字符串的format方法. 101
5.2.4 更進(jìn)一步控制字符串格式化參數(shù). 102
5.2.5 字段寬度、精度和千位分隔符. 104
5.2.6 符號(hào)、對(duì)齊、用0填充和進(jìn)制轉(zhuǎn)換. 105
5.3 字符串方法. 107
5.3.1 center方法. 107
5.3.2 find方法. 108
5.3.3 join方法. 109
5.3.4 split方法. 110
5.3.5 lower方法、upper方法和capwords函數(shù). 111
5.3.6 replace方法. 112
5.3.7 strip方法. 112
5.3.8 translate方法與maketrans方法. 113
5.4 小結(jié). 114
5.5 實(shí)戰(zhàn)與練習(xí). 115
第6章 字典. 116
6.1 為什么要引入字典. 116
6.2 創(chuàng)建和使用字典. 117
6.2.1 dict函數(shù). 117
6.2.2 字典的基本操作. 118
6.2.3 字典的格式化字符串. 120
6.2.4 序列與迭代. 121
6.3 字典方法. 124
6.3.1 clear方法. 124
6.3.2 copy方法與deepcopy函數(shù). 125
6.3.3 fromkeys方法. 126
6.3.4 get方法. 127
6.3.5 items方法和keys方法. 128
6.3.6 pop方法和popitem方法. 129
6.3.7 setdefault方法. 130
6.3.8 update方法. 131
6.3.9 values方法. 132
6.4 小結(jié). 133
6.5 實(shí)戰(zhàn)與練習(xí). 133
第7章 函數(shù). 134
7.1 懶惰是重用的基石. 134
7.2 函數(shù)基礎(chǔ). 136
7.2.1 創(chuàng)建函數(shù). 136
7.2.2 為函數(shù)添加文檔注釋. 137
7.2.3 沒(méi)有返回值的函數(shù). 138
7.3 函數(shù)參數(shù). 139
7.3.1 改變參數(shù)的值. 139
7.3.2 關(guān)鍵字參數(shù)與默認(rèn)值. 144
7.3.3 可變參數(shù). 147
7.3.4 將序列作為函數(shù)的參數(shù)值. 151
7.4 作用域. 154
7.5 遞歸. 156
7.6 小結(jié). 158
7.7 實(shí)戰(zhàn)與練習(xí). 158
第8章 類和對(duì)象. 159
8.1 對(duì)象的魔法. 159
8.2 類. 160
8.2.1 創(chuàng)建自己的類. 160
8.2.2 方法和私有化. 161
8.2.3 類代碼塊. 163
8.2.4 類的繼承. 164
8.2.5 檢測(cè)繼承關(guān)系. 165
8.2.6 多繼承. 167
8.2.7 接口. 169
8.3 小結(jié). 170
8.4 實(shí)戰(zhàn)與練習(xí). 171
第9章 異常. 172
9.1 什么是異常. 172
9.2 主動(dòng)拋出異常. 173
9.2.1 raise語(yǔ)句. 173
9.2.2 自定義異常類. 175
9.3 捕捉異常. 176
9.3.1 try…except語(yǔ)句的基本用法. 176
9.3.2 捕捉多個(gè)異常. 177
9.3.3 用同一個(gè)代碼塊處理多個(gè)異常. 179
9.3.4 捕捉對(duì)象. 180
9.3.5 異常捕捉中的else子句. 182
9.3.6 異常捕捉中的finally子句. 183
9.4 異常、函數(shù)與棧跟蹤. 185
9.5 異常的妙用. 186
9.6 小結(jié). 188
9.7 實(shí)戰(zhàn)與練習(xí). 188
第10章 方法、屬性和迭代器. 189
10.1 構(gòu)造方法. 189
10.1.1 構(gòu)造方法的基礎(chǔ)知識(shí). 189
10.1.2 重寫(xiě)普通方法和構(gòu)造方法. 190
10.1.3 使用super函數(shù). 193
10.2 特殊成員方法. 194
10.2.1 自定義序列. 194
10.2.2 從內(nèi)建列表、字符串和字典繼承. 197
10.3 屬性. 199
10.3.1 傳統(tǒng)的屬性. 199
10.3.2 property函數(shù). 201
10.3.3 監(jiān)控對(duì)象中所有的屬性. 203
10.4 靜態(tài)方法和類方法. 205
10.5 迭代器. 207
10.5.1 自定義可迭代的類. 207
10.5.2 將迭代器轉(zhuǎn)換為列表. 209
10.6 生成器. 210
10.6.1 創(chuàng)建生成器. 210
10.6.2 遞歸生成器. 212
10.7 小結(jié). 213
10.8 實(shí)戰(zhàn)與練習(xí). 214
第二篇 Python高級(jí)編程
第11章 正則表達(dá)式. 217
11.1 在Python語(yǔ)言中使用正則表達(dá)式. 217
11.1.1 使用match方法匹配字符串. 217
11.1.2 使用search方法在一個(gè)字符串中查找模式. 218
11.1.3 匹配多個(gè)字符串. 219
11.1.4 匹配任何單個(gè)字符. 220
11.1.5 使用字符集. 221
11.1.6 重復(fù)、可選和特殊字符. 223
11.1.7 分組. 226
11.1.8 匹配字符串的起始和結(jié)尾以及單詞邊界. 228
11.1.9 使用findall和finditer查找每一次出現(xiàn)的位置. 229
11.1.10 用sub和subn搜索與替換. 230
11.1.11 使用split分隔字符串. 232
11.2 一些常用的正則表達(dá)式. 232
11.3 小結(jié). 233
11.4 實(shí)戰(zhàn)與練習(xí). 234
第12章 常用模塊. 235
12.1 sys模塊. 235
12.2 os模塊. 238
12.2.1 獲取與改變工作目錄. 238
12.2.2 文件與目錄操作. 239
12.2.3 軟鏈接與硬鏈接. 240
12.2.4 雜項(xiàng). 241
12.3 集合、堆和雙端隊(duì)列(heap模塊、deque類). 243
12.3.1 集合. 244
12.3.2 堆. 247
12.3.3 雙端隊(duì)列. 249
12.4 時(shí)間、日期與日歷(time模塊). 250
12.4.1 時(shí)間元組. 250
12.4.2 格式化日期和時(shí)間. 251
12.4.3 時(shí)間戳的增量. 253
12.4.4 計(jì)算日期和時(shí)間的差值. 254
12.4.5 獲取某月和某年的日歷. 255
12.5 隨機(jī)數(shù)(random模塊). 256
12.6 數(shù)學(xué)(math模塊). 257
12.7 小結(jié). 258
12.8 實(shí)戰(zhàn)與練習(xí). 258
第13章 文件和流. 259
13.1 打開(kāi)文件. 259
13.2 操作文件的基本方法. 260
13.2.1 讀文件和寫(xiě)文件. 261
13.2.2 管道輸出. 262
13.2.3 讀行和寫(xiě)行. 264
13.3 使用FileInput對(duì)象讀取文件. 265
13.4 小結(jié). 266
13.5 實(shí)戰(zhàn)與練習(xí). 266
第14章 數(shù)據(jù)存儲(chǔ). 268
14.1 處理XML格式的數(shù)據(jù). 268
14.1.1 讀取與搜索XML文件. 268
14.1.2 字典轉(zhuǎn)換為XML字符串. 270
14.1.3 XML字符串轉(zhuǎn)換為字典. 272
14.2 處理JSON格式的數(shù)據(jù). 273
14.2.1 JSON字符串與字典互相轉(zhuǎn)換. 273
14.2.2 將JSON字符串轉(zhuǎn)換為類實(shí)例. 275
14.2.3 將類實(shí)例轉(zhuǎn)換為JSON字符串. 276
14.2.4 類實(shí)例列表與JSON字符串互相轉(zhuǎn)換. 277
14.3 將JSON字符串轉(zhuǎn)換為XML字符串. 278
14.4 SQLite數(shù)據(jù)庫(kù). 279
14.4.1 管理SQLite數(shù)據(jù)庫(kù). 279
14.4.2 用Python操作SQLite數(shù)據(jù)庫(kù). 281
14.5 MySQL數(shù)據(jù)庫(kù). 284
14.6 ORM 286
14.6.1 SQLAlchemy 287
14.6.2 SQLObject 291
14.7 非關(guān)系型數(shù)據(jù)庫(kù). 294
14.7.1 NoSQL簡(jiǎn)介. 294
14.7.2 MongoDB數(shù)據(jù)庫(kù). 295
14.7.3 pymongo模塊. 296
14.8 小結(jié). 297
14.9 實(shí)戰(zhàn)與練習(xí). 297
第15章 TCP與UDP編程. 299
15.1 套接字. 299
15.1.1 建立TCP服務(wù)端. 299
15.1.2 服務(wù)端接收數(shù)據(jù)的緩沖區(qū). 303
15.1.3 服務(wù)端的請(qǐng)求隊(duì)列. 305
15.1.4 TCP時(shí)間戳服務(wù)端. 307
15.1.5 用Socket實(shí)現(xiàn)HTTP服務(wù)器. 307
15.1.6 客戶端Socket 311
15.1.7 UDP時(shí)間戳服務(wù)端. 312
15.1.8 UDP時(shí)間戳客戶端. 313
15.2 socketserver模塊. 314
15.2.1 實(shí)現(xiàn)socketserver TCP時(shí)間戳服務(wù)端. 314
15.2.2 實(shí)現(xiàn)socketserver TCP時(shí)間戳客戶端. 315
15.3 小結(jié). 316
15.4 實(shí)戰(zhàn)與練習(xí). 316
第16章 網(wǎng)絡(luò)高級(jí)編程. 317
16.1 urllib3模塊. 317
16.1.1 發(fā)送HTTP GET請(qǐng)求. 318
16.1.2 發(fā)送HTTP POST請(qǐng)求. 319
16.1.3 HTTP請(qǐng)求頭. 320
16.1.4 HTTP響應(yīng)頭. 322
16.1.5 上傳文件. 323
16.1.6 超時(shí). 325
16.2 twisted框架. 326
16.2.1 異步編程模型. 327
16.2.2 Reactor(反應(yīng)堆)模式. 329
16.2.3 HelloWorld(twisted框架). 329
16.2.4 用twisted實(shí)現(xiàn)時(shí)間戳客戶端. 331
16.2.5 用twisted實(shí)現(xiàn)時(shí)間戳服務(wù)端. 332
16.2.6 用twisted獲取Email郵箱目錄列表. 333
16.3 FTP客戶端. 338
16.4 Email客戶端. 341
16.4.1 使用SMTP發(fā)送簡(jiǎn)單的Email 341
16.4.2 使用SMTP發(fā)送帶附件的Email 343
16.4.3 使用POP3接收Email 344
16.4.4 使用IMAP4接收Email 346
16.5 小結(jié). 348
16.6 實(shí)戰(zhàn)與練習(xí). 348
第17章 多線程. 349
17.1 線程與進(jìn)程. 349
17.1.1 進(jìn)程. 349
17.1.2 線程. 349
17.2 Python與線程. 350
17.2.1 使用單線程執(zhí)行程序. 350
17.2.2 使用多線程執(zhí)行程序. 351
17.2.3 為線程函數(shù)傳遞參數(shù). 352
17.2.4 線程和鎖. 353
17.3 高級(jí)線程模塊. 355
17.3.1 Thread類與線程函數(shù). 355
17.3.2 Thread類與線程對(duì)象. 356
17.3.3 從Thread類繼承. 357
17.4 線程同步. 359
17.4.1 線程鎖. 359
17.4.2 信號(hào)量. 361
17.5 生產(chǎn)者—消費(fèi)者問(wèn)題與queue模塊. 364
17.6 小結(jié). 366
17.7 實(shí)戰(zhàn)與練習(xí). 366
第18章 GUI庫(kù):tkinter 368
18.1 tkinter簡(jiǎn)介. 368
18.2 編寫(xiě)第一個(gè)tkinter程序. 368
18.3 布局. 370
18.3.1 pack布局. 370
18.3.2 place布局. 376
18.3.3 grid布局. 377
18.4 控件. 378
18.4.1 Label控件和Button控件. 378
18.4.2 Entry控件與Text控件. 380
18.4.3 Radiobutton控件. 382
18.4.4 Checkbutton控件. 383
18.4.5 Scale 控件. 384
18.4.6 Listbox控件. 386
18.5 向窗口添加菜單. 387
18.6 對(duì)話框. 389
18.7 小結(jié). 390
18.8 實(shí)戰(zhàn)與練習(xí). 390
第19章 GUI庫(kù):PyQt5 391
19.1 PyQt5簡(jiǎn)介. 391
19.2 安裝PyQt5 392
19.2.1 PyQt5開(kāi)發(fā)環(huán)境搭建. 392
19.2.2 配置QTDesigner(可視化開(kāi)發(fā)). 392
19.2.3 配置PyUIC 395
19.3 編寫(xiě)第一個(gè)PyQt5程序. 397
19.4 窗口的基本功能. 398
19.4.1 設(shè)置窗口圖標(biāo). 398
19.4.2 顯示提示框. 398
19.4.3 關(guān)閉窗口. 399
19.4.4 消息盒子. 400
19.4.5 窗口居中. 401
19.5 布局. 402
19.5.1 絕對(duì)布局. 402
19.5.2 盒布局. 403
19.5.3 網(wǎng)格布局. 405
19.6 控件. 406
19.6.1 QPushButton控件. 406
19.6.2 QLineEdit控件. 408
19.6.3 QCheckBox控件. 409
19.6.4 QSlider控件. 410
19.6.5 QProgressBar控件. 411
19.6.6 QPixmap控件. 413
19.6.7 QComboBox控件. 414
19.6.8 QCalendarWidget控件. 415
19.7 菜單. 416
19.8 小結(jié). 418
19.9 實(shí)戰(zhàn)與練習(xí). 418
第20章 測(cè)試. 419
20.1 先測(cè)試后編碼. 419
20.1.1 為代碼劃定邊界. 420
20.1.2 測(cè)試的步驟. 421
20.2 測(cè)試工具. 421
20.2.1 doctest 421
20.2.2 unittest 423
20.3 檢查源代碼. 424
20.3.1 PyLint 425
20.3.2 Flake8 426
20.4 性能分析. 428
20.5 小結(jié). 429
20.6 實(shí)戰(zhàn)與練習(xí). 429
第三篇 Python Web開(kāi)發(fā)
第21章 Python Web框架:Flask 433
21.1 Flask基礎(chǔ)知識(shí). 434
21.1.1 使用8行代碼搞定Web應(yīng)用. 434
21.1.2 靜態(tài)路由和動(dòng)態(tài)路由. 435
21.1.3 獲取HTTP請(qǐng)求數(shù)據(jù). 438
21.1.4 Response與Cookie 439
21.1.5 會(huì)話. 441
21.1.6 靜態(tài)文件和重定向. 443
21.2 Jinja2模板. 443
21.2.1 第一個(gè)基于Jinja2模板的Web應(yīng)用. 444
21.2.2 在Jinja2模板中使用復(fù)雜數(shù)據(jù). 445
21.2.3 在Jinja2模板中的過(guò)濾器. 447
21.2.4 條件控制. 448
21.2.5 循環(huán)控制. 450
21.2.6 宏操作. 452
21.2.7 include指令. 455
21.2.8 模板繼承. 457
21.2.9 使用flask-bootstrap模塊集成twitterBootstrap 458
21.2.10 自定義錯(cuò)誤頁(yè)面. 460
21.3 Web表單與Flask-WTF擴(kuò)展. 461
21.3.1 表單類. 462
21.3.2 簡(jiǎn)單的表單組件. 464
21.3.3 單選和多選組件. 467
21.3.4 表單校驗(yàn)器. 469
21.3.5 獲取和設(shè)置表單組件中的數(shù)據(jù). 472
21.4 小結(jié). 473
21.5 實(shí)戰(zhàn)與練習(xí). 474
第22章 Python Web框架:Django 475
22.1 Django開(kāi)發(fā)環(huán)境搭建. 475
22.2 Django基礎(chǔ)知識(shí). 476
22.2.1 建立第一個(gè)Django工程. 476
22.2.2 Django工程結(jié)構(gòu)分析. 477
22.2.3 遠(yuǎn)程訪問(wèn)與端口號(hào). 477
22.2.4 用PyCharm建立Django工程. 478
22.2.5 添加路由. 480
22.2.6 在MyCharm中指定IP和端口號(hào). 482
22.2.7 處理HTTP請(qǐng)求. 482
22.2.8 Response與Cookie 484
22.2.9 讀寫(xiě)Session 485
22.2.10 用戶登錄. 487
22.2.11 靜態(tài)文件. 488
22.3 Django模板. 490
22.3.1 編寫(xiě)第一個(gè)基于Django模板的應(yīng)用. 490
22.3.2 條件控制標(biāo)簽. 492
22.3.3 循環(huán)控制標(biāo)簽. 493
22.3.4 過(guò)濾器. 494
22.4 小結(jié). 496
22.5 實(shí)戰(zhàn)與練習(xí). 496
第四篇 Python科學(xué)計(jì)算與數(shù)據(jù)分析
第23章 科學(xué)計(jì)算庫(kù):NumPy 499
23.1 NumPy開(kāi)發(fā)環(huán)境搭建. 499
23.2 第一個(gè)NumPy程序. 500
23.3 NumPy數(shù)組. 501
23.3.1 創(chuàng)建多維數(shù)組. 501
23.3.2 獲取數(shù)組值和數(shù)組的分片. 502
23.3.3 改變數(shù)組的維度. 502
23.3.4 水平組合數(shù)組. 503
23.3.5 垂直數(shù)組組合. 505
23.3.6 水平分隔數(shù)組. 505
23.3.7 垂直分隔數(shù)組. 507
23.3.8 將數(shù)組轉(zhuǎn)換為Python列表. 508
23.4 NumPy常用函數(shù). 509
23.4.1 存取NumPy數(shù)組. 509
23.4.2 讀寫(xiě)CSV文件. 510
23.4.3 成交量加權(quán)平均價(jià)格. 511
23.4.4 數(shù)組的最大值、最小值和取值范圍. 512
23.4.5 計(jì)算數(shù)組的中位數(shù)和方差. 513
23.4.6 計(jì)算兩只股票的相關(guān)性. 514
23.5 小結(jié). 515
23.6 實(shí)戰(zhàn)與練習(xí). 515
第24章 數(shù)據(jù)可視化庫(kù):Matplotlib 516
24.1 Matplotlib開(kāi)發(fā)環(huán)境搭建. 516
24.2 基礎(chǔ)知識(shí). 517
24.2.1 第一個(gè)Matplotlib程序. 517
24.2.2 繪制正弦曲線和余弦曲線. 518
24.2.3 繪制隨機(jī)點(diǎn). 519
24.2.4 繪制柱狀圖. 520
24.2.5 繪制直方圖與盒狀圖. 521
24.2.6 繪制餅圖. 523
24.3 定制顏色和樣式. 524
24.3.1 定制曲線的顏色. 524
24.3.2 定制離散點(diǎn)的樣式. 525
24.3.3 定制柱狀圖顏色. 526
24.3.4 定制餅圖顏色. 526
24.3.5 定制曲線類型. 527
24.3.6 定制柱狀圖的填充模式. 528
24.4 注釋. 529
24.4.1 在坐標(biāo)系上顯示標(biāo)題. 529
24.4.2 使用LaTex格式的標(biāo)題. 529
24.4.3 為X軸和Y軸添加注釋. 530
24.4.4 在坐標(biāo)系指定位置放置注釋. 531
24.4.5 為文本注釋添加Box 532
24.5 小結(jié). 532
24.6 實(shí)戰(zhàn)與練習(xí). 533
第25章 數(shù)據(jù)分析庫(kù):Pandas 534
25.1 Pandas開(kāi)發(fā)環(huán)境搭建. 534
25.2 樣本數(shù)據(jù)集. 534
25.3 Pandas基礎(chǔ)知識(shí). 535
25.3.1 數(shù)據(jù)集的裝載與基礎(chǔ)操作. 535
25.3.2 查看數(shù)據(jù)集中的列. 536
25.3.3 查看數(shù)據(jù)集的行. 537
25.3.4 查看數(shù)據(jù)集單元格中的數(shù)據(jù). 538
25.3.5 對(duì)數(shù)據(jù)集進(jìn)行分組統(tǒng)計(jì). 539
25.3.6 可視化統(tǒng)計(jì)數(shù)據(jù). 540
25.4 Pandas數(shù)據(jù)類型. 541
25.4.1 創(chuàng)建Series 541
25.4.2 創(chuàng)建DataFrame 542
25.4.3 Series的基本操作. 543
25.4.4 Series的方法. 544
25.4.5 Series的條件過(guò)濾. 545
25.4.6 DataFrame的條件過(guò)濾. 546
25.5 小結(jié). 547
25.6 實(shí)戰(zhàn)與練習(xí). 548
第五篇 Python Web爬蟲(chóng)技術(shù)
第26章 網(wǎng)絡(luò)爬蟲(chóng)與Beautiful Soup 551
26.1 網(wǎng)絡(luò)爬蟲(chóng)基礎(chǔ). 551
26.1.1 爬蟲(chóng)分類. 552
26.1.2 編寫(xiě)第1個(gè)網(wǎng)絡(luò)爬蟲(chóng). 552
26.1.3 保存抓取的數(shù)據(jù). 555
26.1.4 從百度抓取海量比基尼美女圖片. 557
26.2 HTML分析庫(kù):Beautiful Soup 560
26.2.1 如何使用Beautiful Soup 560
26.2.2 Tag對(duì)象的name和string屬性. 562
26.2.3 讀寫(xiě)標(biāo)簽屬性. 563
26.2.4 用BeautifulSoup分析京東首頁(yè)的HTML代碼. 564
26.2.5 通過(guò)回調(diào)函數(shù)過(guò)濾標(biāo)簽. 565
26.3 支持下載隊(duì)列的多線程網(wǎng)絡(luò)爬蟲(chóng). 566
26.4 小結(jié). 568
26.5 實(shí)戰(zhàn)與練習(xí). 568
第27章 網(wǎng)絡(luò)爬蟲(chóng)框架:Scrapy 570
27.1 Scrapy基礎(chǔ)知識(shí). 570
27.1.1 Scrapy簡(jiǎn)介. 570
27.1.2 Scrapy安裝. 571
27.1.3 Scrapy Shell抓取Web資源. 571
27.1.4 XPath入門(mén). 573
27.2 用Scrapy編寫(xiě)網(wǎng)絡(luò)爬蟲(chóng). 574
27.2.1 創(chuàng)建和使用Scrapy工程. 574
27.2.2 在PyCharm中使用Scrapy 575
27.2.3 使用Scrapy抓取數(shù)據(jù)并通過(guò)XPath指定解析規(guī)則. 576
27.2.4 將抓取到的數(shù)據(jù)保存為多種格式的文件. 577
27.3 小結(jié). 578
27.4 實(shí)戰(zhàn)與練習(xí). 578
第六篇 Python項(xiàng)目實(shí)戰(zhàn)
第28章 Web項(xiàng)目實(shí)戰(zhàn):基于 Flask的美團(tuán)網(wǎng). 581
28.1 項(xiàng)目概述. 581
28.1.1 項(xiàng)目效果演示. 581
28.1.2 項(xiàng)目工程結(jié)構(gòu). 582
28.2 美團(tuán)網(wǎng)核心功能實(shí)現(xiàn). 583
28.2.1 設(shè)計(jì)服務(wù)API 583
28.2.2 用Ajax技術(shù)與服務(wù)端交互. 584
28.3 Python與微信支付. 585
28.3.1 微信支付要準(zhǔn)備的數(shù)據(jù)以及支付流程. 585
28.3.2 編寫(xiě)支付核心類WXPay 586
28.4 小結(jié). 588
第29章 Web項(xiàng)目實(shí)戰(zhàn):基于Django的58同城. 589
29.1 項(xiàng)目效果演示. 589
29.2 操作MySQL數(shù)據(jù)庫(kù). 590
29.3 賬號(hào). 590
29.3.1 用戶注冊(cè). 591
29.3.2 用戶登錄. 592
29.4 招聘頁(yè)面. 594
29.5 二手車(chē)頁(yè)面. 595
29.6 小結(jié). 597
第30章 網(wǎng)絡(luò)爬蟲(chóng)實(shí)戰(zhàn):天氣預(yù)報(bào)服務(wù)API 598
30.1 項(xiàng)目效果演示. 598
30.2 建立MySQL數(shù)據(jù)庫(kù). 599
30.3 抓取天氣預(yù)報(bào)數(shù)據(jù). 599
30.4 編寫(xiě)天氣預(yù)報(bào)服務(wù)API 600
30.5 實(shí)現(xiàn)Web版天氣預(yù)報(bào)查詢客戶端. 601
30.6 小結(jié). 601
第31章 爬蟲(chóng)項(xiàng)目實(shí)戰(zhàn):胸罩銷售數(shù)據(jù)分析. 602
31.1 項(xiàng)目效果演示. 602
31.2 天貓胸罩銷售數(shù)據(jù). 604
31.2.1 天貓胸罩銷售數(shù)據(jù)分析. 604
31.2.2 抓取天貓胸罩銷售數(shù)據(jù). 605
31.2.3 抓取胸罩商品列表. 605
31.2.4 將抓取的銷售數(shù)據(jù)保存到SQLite數(shù)據(jù)庫(kù)中. 606
31.3 京東胸罩銷售數(shù)據(jù). 607
31.3.1 京東胸罩銷售數(shù)據(jù)分析. 607
31.3.2 抓取京東胸罩銷售數(shù)據(jù). 608
31.4 數(shù)據(jù)清洗. 609
31.5 數(shù)據(jù)分析與可視化. 611
31.5.1 用SQL語(yǔ)句分析胸罩(按罩杯尺寸)的銷售比例. 611
31.5.2 用Pandas和Matplotlib對(duì)胸罩銷售比例進(jìn)行可視化分析. 612
31.5.3 按上胸圍分析胸罩的銷售比例. 613
31.5.4 罩杯和上胸圍綜合數(shù)據(jù)可視化分析. 614
31.5.5 統(tǒng)計(jì)哪一種顏色的胸罩賣(mài)得最好. 615
31.5.6 用盒狀圖與直方圖表示罩杯與上胸圍分布. 617
31.6 小結(jié). 618
第32章 GUI項(xiàng)目實(shí)戰(zhàn):動(dòng)態(tài)修改域名指向的IP 619
32.1 搭建開(kāi)發(fā)環(huán)境. 619
32.2 項(xiàng)目效果演示. 619
32.3 獲取公網(wǎng)IP 620
32.4 定時(shí)更新公網(wǎng)IP 621
32.5 更新域名對(duì)應(yīng)的IP 622
32.6 小結(jié). 623
第33章 游戲項(xiàng)目實(shí)戰(zhàn):俄羅斯方塊. 624
33.1 搭建開(kāi)發(fā)環(huán)境. 624
33.2 項(xiàng)目效果演示. 624
33.3 用戶注冊(cè). 625
33.4 用戶登錄. 626
33.5 游戲界面繪制和渲染. 628
33.6 用按鍵控制游戲. 629
33.7 播放背景音樂(lè). 630
33.8 用戶積分. 631
33.9 小結(jié). 632