定 價:¥79.00
作 者: | 劉宇宙,劉艷 著 |
出版社: | 清華大學出版社 |
叢編項: | |
標 簽: | 暫缺 |
ISBN: | 9787302510840 | 出版時間: | 2018-10-01 | 包裝: | 平裝 |
開本: | 16 | 頁數(shù): | 399 | 字數(shù): |
第1章 進入Python 3.7的精彩世界 1
1.1 Python的起源 1
1.2 Python的應用場合 2
1.3 從2.7到3.7,Python的新特性 4
1.4 如何學習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開始 14
1.7 調(diào)試 15
1.8 問題解答 16
1.9 溫故知新,學以致用 17
第2章 開啟Python之旅 18
2.1 認識程序 18
2.1.1 程序 18
2.1.2 調(diào)試 19
2.1.3 語法錯誤 19
2.1.4 運行錯誤 20
2.1.5 語義錯誤 20
2.2 數(shù)據(jù)類型 20
2.2.1 整型 21
2.2.2 浮點型 22
2.2.3 復數(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 語句 29
2.5 表達式 30
2.6 運算符和操作對象 31
2.6.1 什么是運算符和操作對象 31
2.6.2 算術(shù)運算符 31
2.6.3 比較運算符 32
2.6.4 賦值運算符 34
2.6.5 位運算符 35
2.6.6 邏輯運算符 36
2.6.7 成員運算符 36
2.6.8 身份運算符 37
2.6.9 運算符優(yōu)先級 37
2.7 字符串操作 39
2.8 注釋 42
2.9 牛刀小試——九九乘法表實現(xiàn) 43
2.10 調(diào)試 44
2.11 問題解答 44
2.12 溫故知新,學以致用 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 長度、最小值和最大值 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 問題解答 71
3.8 溫故知新,學以致用 72
第4章 字符串 74
4.1 字符串的基本操作 74
4.2 字符串格式化 75
4.2.1 字符串格式化符號 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 問題解答 87
4.7 溫故知新,學以致用 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 問題解答 101
5.7 溫故知新,學以致用 101
第6章 條件、循環(huán)和其他語句 103
6.1 使用文本編輯器 103
6.2 import的使用 105
6.2.1 import語句 105
6.2.2 使用逗號輸出 108
6.3 別樣的賦值 108
6.3.1 序列解包 108
6.3.2 鏈式賦值 109
6.3.3 增量賦值 110
6.4 語句塊 111
6.5 條件語句 111
6.5.1 布爾變量的作用 111
6.5.2 if語句 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語句 127
6.8 牛刀小試——猜字游戲編寫 128
6.9 Python程序調(diào)試 129
6.10 問題解答 130
6.11 溫故知新,學以致用 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 默認參數(shù) 139
7.3.4 可變參數(shù) 142
7.3.5 組合參數(shù) 144
7.4 執(zhí)行流程 144
7.5 形參和實參 145
7.6 變量作用域 146
7.6.1 局部變量 146
7.6.2 全局變量 148
7.7 有返回值和無返回值函數(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 問題解答 161
7.16 溫故知新,學以致用 162
第8章 面向?qū)ο缶幊?nbsp; 164
8.1 理解面向?qū)ο?nbsp; 164
8.1.1 什么是面向?qū)ο缶幊?nbsp; 164
8.1.2 面向?qū)ο笮g(shù)語簡介 164
8.2 類的定義與使用 165
8.2.1 類的定義 165
8.2.2 類的使用 166
8.3 深入類 167
8.3.1 類的構(gòu)造方法 167
8.3.2 類的訪問權(quán)限 171
8.4 繼承 175
8.5 多態(tài) 178
8.6 封裝 181
8.7 多重繼承 182
8.8 獲取對象信息 184
8.9 類的專有方法 187
8.10 牛刀小試——出行建議 191
8.11 調(diào)試 193
8.12 問題解答 193
8.13 溫故知新,學以致用 194
第9章 異常 196
9.1 什么是異常 196
9.2 異常處理 197
9.3 拋出異常 198
9.4 捕捉多個異常 199
9.5 使用一個塊捕捉多個異常 200
9.6 捕捉對象 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的由來 208
9.14 溫故知新,學以致用 208
第10章 日期和時間 210
10.1 日期和時間 210
10.1.1 時間戳 210
10.1.2 時間格式化符號 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 三種時間格式轉(zhuǎn)化 217
10.3 datetime模塊 217
10.4 日歷模塊 221
10.5 牛刀小試——時間大雜燴 222
10.6 調(diào)試 226
10.7 溫故知新,學以致用 226
第11章 正則表達式 228
11.1 認識正則表達式 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 溫故知新,學以致用 235
第12章 文件操作 237
12.1 打開文件 237
12.1.1 文件模式 239
12.1.2 緩存 239
12.2 基本文件方法 240
12.2.1 讀和寫 240
12.2.2 讀寫行 243
12.2.3 關(guān)閉文件 244
12.2.4 文件重命名 245
12.2.5 刪除文件 246
12.3 對文件內(nèi)容進行迭代 246
12.3.1 按字節(jié)處理 246
12.3.2 按行操作 247
12.3.3 使用fileinput實現(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 問題解答 254
12.9 溫故知新,學以致用 254
第13章 多線程 256
13.1 線程和進程 256
13.1.1 進程 256
13.1.2 線程 256
13.1.3 多線程與多進程 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)先級隊列 267
13.7 線程與進程比較 269
13.7.1 線程切換 270
13.7.2 計算密集型與IO密集型 270
13.7.3 異步IO 271
13.8 牛刀小試——多線程簡單爬蟲 271
13.9 調(diào)試 272
13.10 問題解答 273
13.11 溫故知新,學以致用 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 同時支持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 問題解答 290
14.7 溫故知新,學以致用 290
第15章 網(wǎng)絡編程 292
15.1 初識網(wǎng)絡編程 292
15.2 TCP/IP簡介 292
15.3 網(wǎng)絡設計模塊 293
15.3.1 Socket簡介 294
15.3.2 socket模塊 294
15.3.3 socket對象(內(nèi)建)方法 296
15.4 TCP編程 297
15.4.1 客戶端 297
15.4.2 服務器編程 299
15.5 UDP編程 303
15.6 urllib模塊 305
15.6.1 GET請求 305
15.6.2 POST請求 306
15.7 牛刀小試——模擬瀏覽器 307
15.8 調(diào)試 308
15.9 問題解答 308
15.10 溫故知新,學以致用 308
第16章 GUI編程 310
16.1 GUI簡介 310
16.1.1 常用GUI庫簡介 310
16.1.2 安裝tkinter 311
16.2 概念介紹 311
16.2.1 窗口和控件 311
16.2.2 事件驅(qū)動處理 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 牛刀小試——計算器開發(fā) 320
16.6 調(diào)試 325
16.7 問題解答 325
16.8 溫故知新,學以致用 325
第17章 操作數(shù)據(jù)庫 327
17.1 數(shù)據(jù)庫介紹 327
17.2 Python數(shù)據(jù)庫API 328
17.2.1 全局變量 328
17.2.2 異常 329
17.2.3 連接和游標 329
17.2.4 類型 331
17.3 數(shù)據(jù)庫操作 331
17.3.1 數(shù)據(jù)庫連接 331
17.3.2 創(chuàng)建數(shù)據(jù)庫表 332
17.3.3 數(shù)據(jù)庫插入 333
17.3.4 數(shù)據(jù)庫查詢 334
17.3.5 數(shù)據(jù)庫更新 335
17.3.6 數(shù)據(jù)庫刪除 336
17.4 事務 337
17.5 調(diào)試 338
17.6 問題解答 338
17.7 溫故知新,學以致用 339
第18章 項目實戰(zhàn)——爬蟲 340
18.1 了解爬蟲 340
18.2 爬蟲的原理 341
18.3 爬蟲常用的幾種技巧 341
18.3.1 基本方法 341
18.3.2 使用代理服務器 342
18.3.3 Cookie處理 342
18.3.4 偽裝成瀏覽器 343
18.3.5 登錄 343
18.4 爬蟲示例——抓取豆瓣電影Top250影評數(shù)據(jù) 344
18.4.1 確定URL格式 344
18.4.2 頁面抓取 344
18.4.3 提取相關(guān)信息 345
18.4.4 寫入文件 346
18.4.5 完善代碼 346
18.5 項目小結(jié) 349
第19章 自然語言分詞與詞頻統(tǒng)計 350
19.1 概念介紹 350
19.1.1 SQLAlchemy簡介 350
19.1.2 pyecharts簡介 351
19.1.3 jieba分詞庫簡介 351
19.1.4 BeautifulSoup庫簡介 351
19.2 庫的安裝與使用 351
19.2.1 SQLAlchemy的安裝與使用 351
19.2.2 pyecharts的安裝與使用 352
19.2.3 jieba分詞庫的安裝與使用 353
19.2.4 BeautifulSoup的安裝與使用 354
19.3 分詞與詞頻統(tǒng)計實戰(zhàn) 354
19.3.1 整體結(jié)構(gòu)設計 355
19.3.2 數(shù)據(jù)結(jié)構(gòu)設計 355
19.3.3 數(shù)據(jù)的爬取與保存 356
19.3.4 制定關(guān)鍵詞庫 358
19.3.5 詞頻統(tǒng)計與圖表生成 358
19.4 分詞與詞頻統(tǒng)計完整代碼實現(xiàn)與結(jié)果查看 359
19.5 項目小結(jié) 367
第20章 區(qū)塊鏈實戰(zhàn) 368
20.1 區(qū)塊鏈簡介 368
20.1.1 區(qū)塊鏈的定義 368
20.1.2 區(qū)塊鏈的特點 369
20.1.3 區(qū)塊鏈應用行業(yè)及領(lǐng)域 369
20.2 區(qū)塊鏈代碼結(jié)構(gòu)設計 369
20.2.1 環(huán)境準備 369
20.2.2 代碼結(jié)構(gòu)設計 369
20.3 區(qū)塊鏈具體邏輯實現(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 工作量證明的實現(xiàn) 374
20.4 API接口層開發(fā) 375
20.4.1 發(fā)送交易 375
20.4.2 挖礦 376
20.4.3 返回整個區(qū)塊鏈 376
20.5 運行區(qū)塊鏈 377
20.6 分布式實現(xiàn) 378
20.6.1 注冊節(jié)點 379
20.6.2 實現(xiàn)共識算法 379
20.7 完整項目代碼與執(zhí)行 381
20.8 項目小結(jié) 393
附錄 394
A.1 數(shù)學函數(shù) 394
A.2 隨機函數(shù) 394
A.3 三角函數(shù) 395
A.4 Python字符串內(nèi)建函數(shù) 395
A.5 列表方法 397
A.6 字典內(nèi)置方法 397
A.7 正則表達式模式 398