定 價(jià):¥79.00
作 者: | 劉宇宙,劉艷 著 |
出版社: | 清華大學(xué)出版社 |
叢編項(xiàng): | |
標(biāo) 簽: | 暫缺 |
ISBN: | 9787302510840 | 出版時(shí)間: | 2018-10-01 | 包裝: | 平裝 |
開(kāi)本: | 16 | 頁(yè)數(shù): | 399 | 字?jǐn)?shù): |
第1章 進(jìn)入Python 3.7的精彩世界 1
1.1 Python的起源 1
1.2 Python的應(yīng)用場(chǎng)合 2
1.3 從2.7到3.7,Python的新特性 4
1.4 如何學(xué)習(xí)Python 6
1.5 Python環(huán)境構(gòu)建 7
1.5.1 在Windows系統(tǒng)中安裝Python 7
1.5.2 在Linux、UNIX系統(tǒng)和Mac中安裝Python 14
1.5.3 其他版本 14
1.6 從Hello World開(kāi)始 14
1.7 調(diào)試 15
1.8 問(wèn)題解答 16
1.9 溫故知新,學(xué)以致用 17
第2章 開(kāi)啟Python之旅 18
2.1 認(rèn)識(shí)程序 18
2.1.1 程序 18
2.1.2 調(diào)試 19
2.1.3 語(yǔ)法錯(cuò)誤 19
2.1.4 運(yùn)行錯(cuò)誤 20
2.1.5 語(yǔ)義錯(cuò)誤 20
2.2 數(shù)據(jù)類型 20
2.2.1 整型 21
2.2.2 浮點(diǎn)型 22
2.2.3 復(fù)數(shù) 23
2.2.4 數(shù)據(jù)類型轉(zhuǎn)換 23
2.2.5 常量 24
2.3 變量和關(guān)鍵字 24
2.3.1 變量 24
2.3.2 變量名稱 28
2.4 語(yǔ)句 29
2.5 表達(dá)式 30
2.6 運(yùn)算符和操作對(duì)象 31
2.6.1 什么是運(yùn)算符和操作對(duì)象 31
2.6.2 算術(shù)運(yùn)算符 31
2.6.3 比較運(yùn)算符 32
2.6.4 賦值運(yùn)算符 34
2.6.5 位運(yùn)算符 35
2.6.6 邏輯運(yùn)算符 36
2.6.7 成員運(yùn)算符 36
2.6.8 身份運(yùn)算符 37
2.6.9 運(yùn)算符優(yōu)先級(jí) 37
2.7 字符串操作 39
2.8 注釋 42
2.9 牛刀小試——九九乘法表實(shí)現(xiàn) 43
2.10 調(diào)試 44
2.11 問(wèn)題解答 44
2.12 溫故知新,學(xué)以致用 45
第3章 列表和元組 47
3.1 通用序列操作 47
3.1.1 索引 47
3.1.2 分片 49
3.1.3 序列相加 51
3.1.4 乘法 52
3.1.5 成員資格 53
3.1.6 長(zhǎng)度、最小值和最大值 54
3.2 列表 54
3.2.1 更新列表 54
3.2.2 嵌套列表 58
3.2.3 列表方法 59
3.3 元組 66
3.3.1 tuple函數(shù) 67
3.3.2 元組的基本操作 67
3.3.3 元組內(nèi)置函數(shù) 68
3.4 列表與元組的區(qū)別 69
3.5 牛刀小試——列表與元組相互轉(zhuǎn)化 70
3.6 調(diào)試 70
3.7 問(wèn)題解答 71
3.8 溫故知新,學(xué)以致用 72
第4章 字符串 74
4.1 字符串的基本操作 74
4.2 字符串格式化 75
4.2.1 字符串格式化符號(hào) 75
4.2.2 字符串格式化元組 77
4.3 字符串方法 80
4.3.1 find()方法 80
4.3.2 join()方法 81
4.3.3 lower()方法 81
4.3.4 upper()方法 82
4.3.5 swapcase()方法 83
4.3.6 replace()方法 83
4.3.7 split()方法 84
4.3.8 strip()方法 84
4.3.9 translate()方法 85
4.4 牛刀小試——變形金剛 86
4.5 調(diào)試 86
4.6 問(wèn)題解答 87
4.7 溫故知新,學(xué)以致用 87
第5章 字典 89
5.1 字典的使用 89
5.2 創(chuàng)建和使用字典 90
5.2.1 dict函數(shù) 90
5.2.2 字典的基本操作 91
5.2.3 字典的格式化字符串 92
5.2.4 字典和列表的區(qū)別 93
5.3 字典方法 93
5.3.1 clear()方法 94
5.3.2 copy()方法 95
5.3.3 fromkeys()方法 95
5.3.4 get()方法 96
5.3.5 key in dict方法 96
5.3.6 items()方法 97
5.3.7 keys()方法 97
5.3.8 setdefault()方法 98
5.3.9 update()方法 98
5.3.10 values()方法 99
5.4 牛刀小試——字典合并與排序 99
5.5 調(diào)試 100
5.6 問(wèn)題解答 101
5.7 溫故知新,學(xué)以致用 101
第6章 條件、循環(huán)和其他語(yǔ)句 103
6.1 使用文本編輯器 103
6.2 import的使用 105
6.2.1 import語(yǔ)句 105
6.2.2 使用逗號(hào)輸出 108
6.3 別樣的賦值 108
6.3.1 序列解包 108
6.3.2 鏈?zhǔn)劫x值 109
6.3.3 增量賦值 110
6.4 語(yǔ)句塊 111
6.5 條件語(yǔ)句 111
6.5.1 布爾變量的作用 111
6.5.2 if語(yǔ)句 112
6.5.3 else子句 114
6.5.4 elif子句 114
6.5.5 嵌套代碼塊 115
6.5.6 更多操作 115
6.5.7 斷言 118
6.6 循環(huán) 118
6.6.1 while循環(huán) 119
6.6.3 循環(huán)遍歷字典元素 122
6.6.4 迭代工具 123
6.6.5 跳出循環(huán) 124
6.6.6 循環(huán)中的else子句 126
6.7 pass語(yǔ)句 127
6.8 牛刀小試——猜字游戲編寫(xiě) 128
6.9 Python程序調(diào)試 129
6.10 問(wèn)題解答 130
6.11 溫故知新,學(xué)以致用 131
第7章 函數(shù) 133
7.1 調(diào)用函數(shù) 133
7.2 定義函數(shù) 135
7.3 函數(shù)的參數(shù) 137
7.3.1 必須參數(shù) 138
7.3.2 關(guān)鍵字參數(shù) 138
7.3.3 默認(rèn)參數(shù) 139
7.3.4 可變參數(shù) 142
7.3.5 組合參數(shù) 144
7.4 執(zhí)行流程 144
7.5 形參和實(shí)參 145
7.6 變量作用域 146
7.6.1 局部變量 146
7.6.2 全局變量 148
7.7 有返回值和無(wú)返回值函數(shù) 150
7.8 為什么要有函數(shù) 151
7.9 返回函數(shù) 151
7.10 遞歸函數(shù) 154
7.11 匿名函數(shù) 156
7.12 偏函數(shù) 159
7.13 牛刀小試——經(jīng)典排序之快速排序?qū)崿F(xiàn) 159
7.14 調(diào)試 161
7.15 問(wèn)題解答 161
7.16 溫故知新,學(xué)以致用 162
第8章 面向?qū)ο缶幊?nbsp; 164
8.1 理解面向?qū)ο?nbsp; 164
8.1.1 什么是面向?qū)ο缶幊?nbsp; 164
8.1.2 面向?qū)ο笮g(shù)語(yǔ)簡(jiǎn)介 164
8.2 類的定義與使用 165
8.2.1 類的定義 165
8.2.2 類的使用 166
8.3 深入類 167
8.3.1 類的構(gòu)造方法 167
8.3.2 類的訪問(wèn)權(quán)限 171
8.4 繼承 175
8.5 多態(tài) 178
8.6 封裝 181
8.7 多重繼承 182
8.8 獲取對(duì)象信息 184
8.9 類的專有方法 187
8.10 牛刀小試——出行建議 191
8.11 調(diào)試 193
8.12 問(wèn)題解答 193
8.13 溫故知新,學(xué)以致用 194
第9章 異常 196
9.1 什么是異常 196
9.2 異常處理 197
9.3 拋出異常 198
9.4 捕捉多個(gè)異常 199
9.5 使用一個(gè)塊捕捉多個(gè)異常 200
9.6 捕捉對(duì)象 201
9.7 全捕捉 201
9.8 異常中的else 202
9.9 自定義異常 203
9.10 finally子句 204
9.11 異常和函數(shù) 205
9.12 牛刀小試——正常數(shù)和異常數(shù) 206
9.13 bug的由來(lái) 208
9.14 溫故知新,學(xué)以致用 208
第10章 日期和時(shí)間 210
10.1 日期和時(shí)間 210
10.1.1 時(shí)間戳 210
10.1.2 時(shí)間格式化符號(hào) 211
10.1.3 struct_time元組 212
10.2 time模塊 212
10.2.1 time()函數(shù) 212
10.2.2 localtime([secs])函數(shù) 213
10.2.3 gmtime([secs])函數(shù) 213
10.2.4 mktime(t)函數(shù) 214
10.2.5 asctime([t])函數(shù) 214
10.2.6 ctime([secs])函數(shù) 214
10.2.7 sleep(secs)函數(shù) 215
10.2.8 clock()函數(shù) 215
10.2.9 strftime(format[, t])函數(shù) 216
10.2.10 strptime(string[, format])函數(shù) 217
10.2.11 三種時(shí)間格式轉(zhuǎn)化 217
10.3 datetime模塊 217
10.4 日歷模塊 221
10.5 牛刀小試——時(shí)間大雜燴 222
10.6 調(diào)試 226
10.7 溫故知新,學(xué)以致用 226
第11章 正則表達(dá)式 228
11.1 認(rèn)識(shí)正則表達(dá)式 228
11.2 re模塊 230
11.2.1 re.match函數(shù) 230
11.2.2 re.search方法 231
11.2.3 re.match與re.search的區(qū)別 231
11.3 貪婪模式和非貪婪模式 232
11.4 替換 233
11.5 編譯 234
11.6 牛刀小試——匹配比較 234
11.7 溫故知新,學(xué)以致用 235
第12章 文件操作 237
12.1 打開(kāi)文件 237
12.1.1 文件模式 239
12.1.2 緩存 239
12.2 基本文件方法 240
12.2.1 讀和寫(xiě) 240
12.2.2 讀寫(xiě)行 243
12.2.3 關(guān)閉文件 244
12.2.4 文件重命名 245
12.2.5 刪除文件 246
12.3 對(duì)文件內(nèi)容進(jìn)行迭代 246
12.3.1 按字節(jié)處理 246
12.3.2 按行操作 247
12.3.3 使用fileinput實(shí)現(xiàn)懶加載式迭代 247
12.3.4 文件迭代器 248
12.4 StringIO函數(shù) 248
12.5 序列化與反序列化 249
12.5.1 一般序列化與反序列化 249
12.5.2 JSON序列化與反序列化 250
12.6 牛刀小試——批量更改文件名 252
12.7 調(diào)試 253
12.8 問(wèn)題解答 254
12.9 溫故知新,學(xué)以致用 254
第13章 多線程 256
13.1 線程和進(jìn)程 256
13.1.1 進(jìn)程 256
13.1.2 線程 256
13.1.3 多線程與多進(jìn)程 257
13.2 使用線程 258
13.2.1 全局解釋器鎖 258
13.2.2 退出線程 258
13.2.3 Python的線程模塊 259
13.3 _thread模塊 259
13.4 threading模塊 261
13.5 線程同步 265
13.6 線程優(yōu)先級(jí)隊(duì)列 267
13.7 線程與進(jìn)程比較 269
13.7.1 線程切換 270
13.7.2 計(jì)算密集型與IO密集型 270
13.7.3 異步IO 271
13.8 牛刀小試——多線程簡(jiǎn)單爬蟲(chóng) 271
13.9 調(diào)試 272
13.10 問(wèn)題解答 273
13.11 溫故知新,學(xué)以致用 273
第14章 發(fā)送和接收電子郵件 275
14.1 電子郵件介紹 275
14.2 發(fā)送郵件 277
14.2.1 SMTP發(fā)送郵件 277
14.2.2 發(fā)送HTML格式的郵件 279
14.2.3 發(fā)送帶附件的郵件 280
14.2.4 發(fā)送圖片 281
14.2.5 同時(shí)支持HTML和Plain格式 282
14.2.6 加密SMTP 284
14.3 POP3接收郵件 284
14.3.1 POP3下載郵件 285
14.3.2 解析郵件 286
14.4 牛刀小試——郵件發(fā)送通用化 287
14.5 調(diào)試 290
14.6 問(wèn)題解答 290
14.7 溫故知新,學(xué)以致用 290
第15章 網(wǎng)絡(luò)編程 292
15.1 初識(shí)網(wǎng)絡(luò)編程 292
15.2 TCP/IP簡(jiǎn)介 292
15.3 網(wǎng)絡(luò)設(shè)計(jì)模塊 293
15.3.1 Socket簡(jiǎn)介 294
15.3.2 socket模塊 294
15.3.3 socket對(duì)象(內(nèi)建)方法 296
15.4 TCP編程 297
15.4.1 客戶端 297
15.4.2 服務(wù)器編程 299
15.5 UDP編程 303
15.6 urllib模塊 305
15.6.1 GET請(qǐng)求 305
15.6.2 POST請(qǐng)求 306
15.7 牛刀小試——模擬瀏覽器 307
15.8 調(diào)試 308
15.9 問(wèn)題解答 308
15.10 溫故知新,學(xué)以致用 308
第16章 GUI編程 310
16.1 GUI簡(jiǎn)介 310
16.1.1 常用GUI庫(kù)簡(jiǎn)介 310
16.1.2 安裝tkinter 311
16.2 概念介紹 311
16.2.1 窗口和控件 311
16.2.2 事件驅(qū)動(dòng)處理 312
16.2.3 布局管理器 312
16.3 Tk控件 312
16.3.1 Button控件 313
16.3.2 Checkbutton控件 314
16.3.3 Label控件 315
16.3.4 Text控件 316
16.3.5 Menu控件 317
16.4 tkinter 組合控件 319
16.5 牛刀小試——計(jì)算器開(kāi)發(fā) 320
16.6 調(diào)試 325
16.7 問(wèn)題解答 325
16.8 溫故知新,學(xué)以致用 325
第17章 操作數(shù)據(jù)庫(kù) 327
17.1 數(shù)據(jù)庫(kù)介紹 327
17.2 Python數(shù)據(jù)庫(kù)API 328
17.2.1 全局變量 328
17.2.2 異常 329
17.2.3 連接和游標(biāo) 329
17.2.4 類型 331
17.3 數(shù)據(jù)庫(kù)操作 331
17.3.1 數(shù)據(jù)庫(kù)連接 331
17.3.2 創(chuàng)建數(shù)據(jù)庫(kù)表 332
17.3.3 數(shù)據(jù)庫(kù)插入 333
17.3.4 數(shù)據(jù)庫(kù)查詢 334
17.3.5 數(shù)據(jù)庫(kù)更新 335
17.3.6 數(shù)據(jù)庫(kù)刪除 336
17.4 事務(wù) 337
17.5 調(diào)試 338
17.6 問(wèn)題解答 338
17.7 溫故知新,學(xué)以致用 339
第18章 項(xiàng)目實(shí)戰(zhàn)——爬蟲(chóng) 340
18.1 了解爬蟲(chóng) 340
18.2 爬蟲(chóng)的原理 341
18.3 爬蟲(chóng)常用的幾種技巧 341
18.3.1 基本方法 341
18.3.2 使用代理服務(wù)器 342
18.3.3 Cookie處理 342
18.3.4 偽裝成瀏覽器 343
18.3.5 登錄 343
18.4 爬蟲(chóng)示例——抓取豆瓣電影Top250影評(píng)數(shù)據(jù) 344
18.4.1 確定URL格式 344
18.4.2 頁(yè)面抓取 344
18.4.3 提取相關(guān)信息 345
18.4.4 寫(xiě)入文件 346
18.4.5 完善代碼 346
18.5 項(xiàng)目小結(jié) 349
第19章 自然語(yǔ)言分詞與詞頻統(tǒng)計(jì) 350
19.1 概念介紹 350
19.1.1 SQLAlchemy簡(jiǎn)介 350
19.1.2 pyecharts簡(jiǎn)介 351
19.1.3 jieba分詞庫(kù)簡(jiǎn)介 351
19.1.4 BeautifulSoup庫(kù)簡(jiǎn)介 351
19.2 庫(kù)的安裝與使用 351
19.2.1 SQLAlchemy的安裝與使用 351
19.2.2 pyecharts的安裝與使用 352
19.2.3 jieba分詞庫(kù)的安裝與使用 353
19.2.4 BeautifulSoup的安裝與使用 354
19.3 分詞與詞頻統(tǒng)計(jì)實(shí)戰(zhàn) 354
19.3.1 整體結(jié)構(gòu)設(shè)計(jì) 355
19.3.2 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 355
19.3.3 數(shù)據(jù)的爬取與保存 356
19.3.4 制定關(guān)鍵詞庫(kù) 358
19.3.5 詞頻統(tǒng)計(jì)與圖表生成 358
19.4 分詞與詞頻統(tǒng)計(jì)完整代碼實(shí)現(xiàn)與結(jié)果查看 359
19.5 項(xiàng)目小結(jié) 367
第20章 區(qū)塊鏈實(shí)戰(zhàn) 368
20.1 區(qū)塊鏈簡(jiǎn)介 368
20.1.1 區(qū)塊鏈的定義 368
20.1.2 區(qū)塊鏈的特點(diǎn) 369
20.1.3 區(qū)塊鏈應(yīng)用行業(yè)及領(lǐng)域 369
20.2 區(qū)塊鏈代碼結(jié)構(gòu)設(shè)計(jì) 369
20.2.1 環(huán)境準(zhǔn)備 369
20.2.2 代碼結(jié)構(gòu)設(shè)計(jì) 369
20.3 區(qū)塊鏈具體邏輯實(shí)現(xiàn) 371
20.3.1 塊結(jié)構(gòu) 371
20.3.2 加入交易 372
20.3.3 創(chuàng)建新塊 372
20.3.4 工作量證明的理解 374
20.3.5 工作量證明的實(shí)現(xiàn) 374
20.4 API接口層開(kāi)發(fā) 375
20.4.1 發(fā)送交易 375
20.4.2 挖礦 376
20.4.3 返回整個(gè)區(qū)塊鏈 376
20.5 運(yùn)行區(qū)塊鏈 377
20.6 分布式實(shí)現(xiàn) 378
20.6.1 注冊(cè)節(jié)點(diǎn) 379
20.6.2 實(shí)現(xiàn)共識(shí)算法 379
20.7 完整項(xiàng)目代碼與執(zhí)行 381
20.8 項(xiàng)目小結(jié) 393
附錄 394
A.1 數(shù)學(xué)函數(shù) 394
A.2 隨機(jī)函數(shù) 394
A.3 三角函數(shù) 395
A.4 Python字符串內(nèi)建函數(shù) 395
A.5 列表方法 397
A.6 字典內(nèi)置方法 397
A.7 正則表達(dá)式模式 398