關(guān)于我們
書單推薦
新書推薦
|
Python語言及其應(yīng)用(第2版)
本書分為上、下兩大部分,共計(jì)22章。第一部分(第1~11章)由淺入深地介紹Python的基礎(chǔ)知識(shí),包括變量、數(shù)值、條件語句、文本字符串、循環(huán)語句、元組、列表、字典、集合、函數(shù)、對(duì)象、類、模塊、庫(kù),等等。掌握這些基礎(chǔ)知識(shí)將為運(yùn)用Python奠定牢固的基礎(chǔ)。第二部分(第12~22章)介紹Python的應(yīng)用,所涉及的領(lǐng)域包括Web應(yīng)用、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)。你將學(xué)會(huì)用Python處理時(shí)間、進(jìn)行網(wǎng)絡(luò)通信、完成數(shù)據(jù)科學(xué)任務(wù)等,還會(huì)了解并發(fā)的相關(guān)知識(shí)。
1.通俗易懂,趣味十足,適合想快速獲得Python應(yīng)用經(jīng)驗(yàn)的新手。
2.由淺入深,從基礎(chǔ)知識(shí)出發(fā),逐步邁向更復(fù)雜、更多樣化的主題,幫你構(gòu)建Python知識(shí)體系。
3.教程與示例相結(jié)合,清晰解釋了Python 3的各種常用概念,還向你展示了如何使用豐富的Python包在商業(yè)分析、數(shù)據(jù)庫(kù)和機(jī)器學(xué)習(xí)等領(lǐng)域開發(fā)應(yīng)用。
4.配有練習(xí)和參考答案,幫助你學(xué)以致用,打下堅(jiān)實(shí)的Python基礎(chǔ)。
比爾·盧巴諾維奇(Bill Lubanovic)在長(zhǎng)達(dá)40余年的軟件開發(fā)生涯中積累了豐富的實(shí)戰(zhàn)經(jīng)驗(yàn),開發(fā)過的項(xiàng)目跨越數(shù)據(jù)庫(kù)、Web、分布式系統(tǒng)等多個(gè)領(lǐng)域。他曾負(fù)責(zé)用Python重新實(shí)現(xiàn)流行工具Wayback Machine。
前言 xxv
第 一部分 Python基礎(chǔ)
第 1 章 Python初探 3
1.1 謎題 3
1.2 小程序 5
1.3 大程序 7
1.4 現(xiàn)實(shí)世界中的Python 10
1.5 Python和其他語言 10
1.6 為什么選擇Python 12
1.7 為什么不選擇Python 14
1.8 Python 2和Python 3 14
1.9 安裝Python 15
1.10 運(yùn)行Python 15
1.10.1 使用交互式解釋器 15
1.10.2 使用Python文件 16
1.10.3 下一步 17
1.11 禪意時(shí)刻 17
1.12 后續(xù)內(nèi)容 17
1.13 練習(xí) 18
第 2 章 數(shù)據(jù):類型、值、變量和名稱 19
2.1 Python數(shù)據(jù)皆是對(duì)象 19
2.2 類型 20
2.3 可變性 21
2.4 字面值 22
2.5 變量 22
2.6 賦值 23
2.7 變量是名稱,不是位置 24
2.8 向多個(gè)名稱賦值 27
2.9 為名稱重新賦值 27
2.10 復(fù)制 27
2.11 選個(gè)好變量名 28
2.12 后續(xù)內(nèi)容 28
2.13 練習(xí) 28
第 3 章 數(shù)字 29
3.1 布爾值 29
3.2 整數(shù) 30
3.2.1 字面整數(shù) 30
3.2.2 整數(shù)運(yùn)算符 31
3.2.3 整數(shù)和變量 33
3.2.4 優(yōu)先級(jí) 34
3.2.5 基數(shù) 35
3.2.6 類型轉(zhuǎn)換 37
3.2.7 int類型有多大 39
3.3 浮點(diǎn)數(shù) 40
3.4 數(shù)學(xué)函數(shù) 41
3.5 后續(xù)內(nèi)容 41
3.6 練習(xí) 41
第 4 章 if語句 42
4.1 使用#注釋 42
4.2 使用\續(xù)行 43
4.3 使用if、elif和else進(jìn)行比較 44
4.4 True是什么 46
4.5 使用in進(jìn)行多重比較 47
4.6 新秀:我是海象 48
4.7 后續(xù)內(nèi)容 49
4.8 練習(xí) 49
第 5 章 字符串 50
5.1 使用引號(hào)創(chuàng)建字符串 50
5.2 使用str()創(chuàng)建字符串 52
5.3 使用\轉(zhuǎn)義 53
5.4 使用+拼接 54
5.5 使用*重復(fù) 55
5.6 使用[]獲取字符 55
5.7 使用分片提取子串 56
5.8 使用len()獲取字符串長(zhǎng)度 58
5.9 使用split()分割字符串 58
5.10 使用join()合并字符串 59
5.11 使用replace()進(jìn)行替換 59
5.12 使用strip()進(jìn)行剝離 59
5.13 搜索和選擇 60
5.14 大小寫 62
5.15 對(duì)齊 63
5.16 格式化 63
5.16.1 舊式樣:% 63
5.16.2 新式樣:{}和format() 66
5.16.3 最新式樣:f字符串 67
5.17 未完待續(xù) 68
5.18 后續(xù)內(nèi)容 68
5.19 練習(xí) 68
第 6 章 while循環(huán)和for循環(huán) 70
6.1 while循環(huán) 70
6.1.1 使用break跳出循環(huán) 71
6.1.2 使用continue跳過本次循環(huán) 71
6.1.3 使用else檢查break 71
6.2 使用for和in進(jìn)行迭代 72
6.2.1 使用break跳出循環(huán) 73
6.2.2 使用continue跳過本次循環(huán) 73
6.2.3 使用else檢查break 73
6.2.4 使用range()生成數(shù)字序列 74
6.3 其他迭代器 74
6.4 后續(xù)內(nèi)容 74
6.5 練習(xí) 74
第 7 章 元組和列表 76
7.1 元組 76
7.1.1 使用逗號(hào)和()創(chuàng)建元組 77
7.1.2 使用tuple()創(chuàng)建元組 78
7.1.3 使用+拼接元組 78
7.1.4 使用*復(fù)制元素 78
7.1.5 比較元組 78
7.1.6 使用for和in迭代元組 79
7.1.7 修改元組 79
7.2 列表 80
7.2.1 使用[]創(chuàng)建列表 80
7.2.2 使用list()創(chuàng)建或轉(zhuǎn)換列表 80
7.2.3 使用split()從字符串創(chuàng)建列表 80
7.2.4 使用[offset]獲取列表項(xiàng) 81
7.2.5 使用切片獲取列表項(xiàng) 82
7.2.6 使用append()在末尾添加列表項(xiàng) 82
7.2.7 使用insert()按偏移插入列表項(xiàng) 83
7.2.8 使用*復(fù)制所有列表項(xiàng) 83
7.2.9 使用extend()或+拼接列表 83
7.2.10 使用[offset]修改列表項(xiàng) 84
7.2.11 使用切片修改列表項(xiàng) 84
7.2.12 使用del按偏移刪除列表項(xiàng) 85
7.2.13 使用remove()按值刪除列表項(xiàng) 85
7.2.14 使用pop()按偏移獲取列表項(xiàng)并刪除 85
7.2.15 使用clear()刪除所有列表項(xiàng) 86
7.2.16 使用index()按值查找列表項(xiàng)的偏移 86
7.2.17 使用in測(cè)試值 86
7.2.18 使用count()統(tǒng)計(jì)某個(gè)值出現(xiàn)的次數(shù) 87
7.2.19 使用join()將列表轉(zhuǎn)換為字符串 87
7.2.20 使用sort()或sorted()重新排序列表項(xiàng) 87
7.2.21 使用len()獲得列表長(zhǎng)度 88
7.2.22 使用=賦值 88
7.2.23 使用copy()、list()或切片復(fù)制列表 89
7.2.24 使用deepcopy()復(fù)制所有內(nèi)容 89
7.2.25 比較列表 90
7.2.26 使用for和in迭代列表 91
7.2.27 使用zip()迭代多個(gè)序列 92
7.2.28 使用推導(dǎo)式創(chuàng)建列表 92
7.2.29 列表的列表 95
7.3 元組和列表 95
7.4 不存在元組推導(dǎo)式 95
7.5 后續(xù)內(nèi)容 96
7.6 練習(xí) 96
第 8 章 字典和集合 98
8.1 字典 98
8.1.1 使用{}創(chuàng)建字典 98
8.1.2 使用dict()創(chuàng)建字典 99
8.1.3 使用dict()進(jìn)行轉(zhuǎn)換 99
8.1.4 使用[key]添加或修改字典項(xiàng) 100
8.1.5 使用[key]或get()獲取字典項(xiàng) 101
8.1.6 使用keys()獲取所有的鍵 102
8.1.7 使用values()獲取所有值 102
8.1.8 使用items()獲取所有“鍵–值”對(duì) 102
8.1.9 使用len()獲取長(zhǎng)度 103
8.1.10 使用{**a, **b}合并字典 103
8.1.11 使用update()合并字典 103
8.1.12 使用del按鍵刪除字典項(xiàng) 104
8.1.13 使用pop()按鍵獲取字典項(xiàng)并將其刪除 104
8.1.14 使用clear()刪除所有字典項(xiàng) 105
8.1.15 使用in測(cè)試鍵是否存在 105
8.1.16 使用=賦值 105
8.1.17 使用copy()復(fù)制 105
8.1.18 使用deepcopy()復(fù)制所有內(nèi)容 106
8.1.19 比較字典 107
8.1.20 使用for和in迭代字典 107
8.1.21 字典推導(dǎo)式 108
8.2 集合 109
8.2.1 使用set()創(chuàng)建集合 110
8.2.2 使用set()進(jìn)行轉(zhuǎn)換 110
8.2.3 使用len()獲取集合元素個(gè)數(shù) 111
8.2.4 使用add()添加元素 111
8.2.5 使用remove()刪除元素 111
8.2.6 使用for和in迭代集合 111
8.2.7 使用in測(cè)試元素 111
8.2.8 集合運(yùn)算 112
8.2.9 集合推導(dǎo)式 115
8.2.10 使用frozenset()創(chuàng)建不可變集合 115
8.3 目前為止學(xué)過的數(shù)據(jù)結(jié)構(gòu) 116
8.4 創(chuàng)建更復(fù)雜的數(shù)據(jù)結(jié)構(gòu) 116
8.5 后續(xù)內(nèi)容 117
8.6 練習(xí) 117
第 9 章 函數(shù) 119
9.1 使用def定義函數(shù) 119
9.2 使用圓括號(hào)調(diào)用函數(shù) 120
9.3 實(shí)參與形參 120
9.3.1 有用的None 122
9.3.2 位置實(shí)參 123
9.3.3 關(guān)鍵字實(shí)參 123
9.3.4 指定默認(rèn)形參值 124
9.3.5 使用*拆分/匯集位置實(shí)參 125
9.3.6 使用**拆分/匯集關(guān)鍵字實(shí)參 126
9.3.7 僅關(guān)鍵字形參 127
9.3.8 可變實(shí)參和不可變實(shí)參 128
9.4 文檔字符串 128
9.5 作為“頭等公民”的函數(shù) 129
9.6 內(nèi)部函數(shù) 131
9.7 匿名函數(shù):lambda 132
9.8 生成器 133
9.8.1 生成器函數(shù) 134
9.8.2 生成器推導(dǎo)式 134
9.9 裝飾器 135
9.10 名稱空間和作用域 137
9.11 名稱中_和__的用法 139
9.12 遞歸 139
9.13 異步函數(shù) 140
9.14 異常 140
9.14.1 使用try和except處理錯(cuò)誤 141
9.14.2 編寫自己的異常 142
9.15 后續(xù)內(nèi)容 143
9.16 練習(xí) 143
第 10 章 對(duì)象和類 144
10.1 什么是對(duì)象 144
10.2 簡(jiǎn)單對(duì)象 145
10.2.1 使用class定義類 145
10.2.2 特性 145
10.2.3 方法 146
10.2.4 初始化 147
10.3 繼承 148
10.3.1 從父類繼承 148
10.3.2 覆蓋方法 149
10.3.3 添加方法 150
10.3.4 使用super()獲得父類的幫助 151
10.3.5 多重繼承 152
10.3.6 mixin 153
10.4 為self正名 154
10.5 特性訪問 154
10.5.1 直接訪問 154
10.5.2 getter和setter 155
10.5.3 用于特性訪問的屬性 155
10.5.4 計(jì)算值屬性 157
10.5.5 使用名稱重整保護(hù)內(nèi)部隱私 158
10.5.6 類和對(duì)象特性 158
10.6 方法的類型 159
10.6.1 實(shí)例方法 159
10.6.2 類方法 159
10.6.3 靜態(tài)方法 160
10.7 鴨子類型 160
10.8 魔術(shù)方法 162
10.9 聚合和組合 165
10.10 何時(shí)使用對(duì)象或其他東西 166
10.11 具名元組 166
10.12 數(shù)據(jù)類 168
10.13 attrs 169
10.14 后續(xù)內(nèi)容 169
10.15 練習(xí) 169
第 11 章 模塊、包和贈(zèng)品 170
11.1 模塊和import語句 170
11.1.1 導(dǎo)入模塊 170
11.1.2 使用別名導(dǎo)入模塊 172
11.1.3 導(dǎo)入部分模塊 172
11.2 包 172
11.2.1 模塊搜索路徑 174
11.2.2 相對(duì)導(dǎo)入和絕對(duì)導(dǎo)入 174
11.2.3 名稱空間包 175
11.2.4 模塊和對(duì)象 176
11.3 Python標(biāo)準(zhǔn)庫(kù) 176
11.3.1 使用setdefault()和defaultdict()處理缺失的鍵 177
11.3.2 使用Counter()計(jì)數(shù) 178
11.3.3 使用OrderedDict()按鍵排序 179
11.3.4 棧+隊(duì)列=雙端隊(duì)列 180
11.3.5 使用itertools迭代代碼結(jié)構(gòu) 181
11.3.6 使用pprint()美化輸出 182
11.3.7 獲得隨機(jī)數(shù) 182
11.4 獲取其他Python代碼 184
11.5 后續(xù)內(nèi)容 184
11.6 練習(xí) 184
第二部分 Python實(shí)踐
第 12 章 數(shù)據(jù)處理 187
12.1 文本字符串:Unicode 188
12.1.1 Python 3 Unicode字符串 188
12.1.2 UTF-8 191
12.1.3 編碼 191
12.1.4 解碼 192
12.1.5 HTML實(shí)體 194
12.1.6 歸一化 195
12.1.7 更多信息 196
12.2 字符串:正則表達(dá)式 196
12.2.1 使用match()查找起始匹配 197
12.2.2 使用search()查找首次匹配 198
12.2.3 使用findall()查找所有匹配 198
12.2.4 使用split()在匹配處分割 199
12.2.5 使用sub()替換匹配 199
12.2.6 模式:特殊字符 199
12.2.7 模式:使用修飾符 201
12.2.8 模式:指定match()的輸出 203
12.3 二進(jìn)制數(shù)據(jù) 203
12.3.1 bytes和bytearray 204
12.3.2 使用struct轉(zhuǎn)換二進(jìn)制數(shù)據(jù) 205
12.3.3 其他二進(jìn)制數(shù)據(jù)工具 207
12.3.4 使用binascii()轉(zhuǎn)換二進(jìn)制/字符串 208
12.3.5 位運(yùn)算符 208
12.4 珠寶類比 209
12.5 后續(xù)內(nèi)容 209
12.6 練習(xí) 209
第 13 章 日歷和時(shí)鐘 211
13.1 閏年 212
13.2 datetime模塊 212
13.3 使用time模塊 215
13.4 讀寫日期和時(shí)間 216
13.5 所有的轉(zhuǎn)換 220
13.6 替代模塊 220
13.7 后續(xù)內(nèi)容 221
13.8 練習(xí) 221
第 14 章 文件和目錄 222
14.1 文件輸入和輸出 222
14.1.1 使用open()創(chuàng)建或打開文件 222
14.1.2 使用print()寫入文本文件 223
14.1.3 使用write()寫入文本文件 223
14.1.4 使用read()、readline()或readlines()讀取文本文件 225
14.1.5 使用write()寫入二進(jìn)制文件 226
14.1.6 使用read()讀取二進(jìn)制文件 227
14.1.7 使用with自動(dòng)關(guān)閉文件 227
14.1.8 使用seek()改變文件位置 228
14.2 內(nèi)存映射 229
14.3 文件操作 229
14.3.1 使用exists()檢查文件是否存在 230
14.3.2 使用isfile()檢查文件類型 230
14.3.3 使用copy()復(fù)制文件 231
14.3.4 使用rename()重命名 231
14.3.5 使用link()或symlink()創(chuàng)建鏈接 231
14.3.6 使用chmod()改變文件權(quán)限 231
14.3.7 使用chown()改變文件所屬權(quán) 232
14.3.8 使用remove()刪除文件 232
14.4 目錄操作 232
14.4.1 使用mkdir()創(chuàng)建目錄 232
14.4.2 使用rmdir()刪除目錄 232
14.4.3 使用listdir()列出目錄內(nèi)容 232
14.4.4 使用chdir()改變當(dāng)前目錄 233
14.4.5 使用glob()列出匹配文件 233
14.5 路徑名 234
14.5.1 使用abspath()獲取路徑名 235
14.5.2 使用realpath()獲取符號(hào)鏈接路徑名 235
14.5.3 使用os.path.join()構(gòu)建路徑名 235
14.5.4 使用pathlib 235
14.6 BytesIO和StringIO 236
14.7 后續(xù)內(nèi)容 237
14.8 練習(xí) 237
第 15 章 進(jìn)程和并發(fā) 238
15.1 程序和進(jìn)程 238
15.1.1 使用subprocess創(chuàng)建進(jìn)程 239
15.1.2 使用multiprocessing創(chuàng)建進(jìn)程 240
15.1.3 使用terminate()終止進(jìn)程 241
15.1.4 使用os獲得系統(tǒng)信息 241
15.1.5 使用psutil獲取進(jìn)程信息 242
15.2 命令自動(dòng)化 242
15.2.1 invoke 243
15.2.2 其他命令助手 243
15.3 并發(fā) 244
15.3.1 隊(duì)列 245
15.3.2 進(jìn)程 245
15.3.3 線程 246
15.3.4 concurrent.futures 248
15.3.5 綠色線程和gevent 251
15.3.6 twisted 252
15.3.7 asyncio 254
15.3.8 Redis 254
15.3.9 隊(duì)列之外的選擇 257
15.4 后續(xù)內(nèi)容 257
15.5 練習(xí) 257
第 16 章 持久性存儲(chǔ) 258
16.1 平面文本文件 258
16.2 填充式文本文件 258
16.3 表格式文本文件 259
16.3.1 CSV 259
16.3.2 XML 261
16.3.3 XML安全提示 263
16.3.4 HTML 263
16.3.5 JSON 264
16.3.6 YAML 266
16.3.7 tablib 267
16.3.8 Pandas 267
16.3.9 配置文件 268
16.4 二進(jìn)制文件 269
16.4.1 填充式二進(jìn)制文件和內(nèi)存映射 269
16.4.2 電子表格 270
16.4.3 HDF5 270
16.4.4 TileDB 270
16.5 關(guān)系數(shù)據(jù)庫(kù) 270
16.5.1 SQL 271
16.5.2 DB-API 272
16.5.3 SQLite 273
16.5.4 MySQL 274
16.5.5 PostgreSQL 275
16.5.6 SQLAlchemy 275
16.5.7 其他數(shù)據(jù)庫(kù)訪問包 280
16.6 NoSQL數(shù)據(jù)存儲(chǔ) 280
16.6.1 dbm家族 280
16.6.2 memcached 281
16.6.3 Redis 282
16.6.4 文檔數(shù)據(jù)庫(kù) 288
16.6.5 時(shí)間序列數(shù)據(jù)庫(kù) 289
16.6.6 圖數(shù)據(jù)庫(kù) 289
16.6.7 其他NoSQL 289
16.7 全文數(shù)據(jù)庫(kù) 290
16.8 后續(xù)內(nèi)容 290
16.9 練習(xí) 290
第 17 章 網(wǎng)絡(luò) 292
17.1 TCP/IP 292
17.1.1 套接字 293
17.1.2 Scapy 297
17.1.3 Netcat 297
17.2 聯(lián)網(wǎng)模式 297
17.3 “請(qǐng)求–回應(yīng)”模式 298
17.3.1 ZeroMQ 298
17.3.2 其他消息工具 301
17.4 “發(fā)布–訂閱”模式 302
17.4.1 Redis 302
17.4.2 ZeroMQ 303
17.4.3 其他“發(fā)布–訂閱”工具 305
17.5 互聯(lián)網(wǎng)服務(wù) 305
17.5.1 域名系統(tǒng) 305
17.5.2 Python電子郵件模塊 306
17.5.3 其他協(xié)議 306
17.6 Web服務(wù)和API 306
17.7 數(shù)據(jù)序列化 307
17.7.1 使用pickle進(jìn)行序列化 307
17.7.2 其他序列化格式 308
17.8 遠(yuǎn)程過程調(diào)用 309
17.8.1 XML-RPC 309
17.8.2 JSON-RPC 310
17.8.3 MessagePack-RPC 311
17.8.4 zerorpc 312
17.8.5 gRPC 312
17.8.6 twirp 313
17.9 遠(yuǎn)程管理工具 313
17.10 大數(shù)據(jù) 313
17.10.1 Hadoop 314
17.10.2 Spark 314
17.10.3 Disco 314
17.10.4 Dask 314
17.11 云 315
17.11.1 Amazon Web服務(wù) 316
17.11.2 Google Cloud 316
17.11.3 Microsoft Azure 316
17.11.4 OpenStack 316
17.12 Docker 316
17.13 后續(xù)內(nèi)容 317
17.14 練習(xí) 317
第 18 章 Web 318
18.1 Web客戶端 319
18.1.1 使用telnet進(jìn)行測(cè)試 320
18.1.2 使用curl進(jìn)行測(cè)試 321
18.1.3 使用httpie進(jìn)行測(cè)試 322
18.1.4 使用httpbin進(jìn)行測(cè)試 322
18.1.5 Python的標(biāo)準(zhǔn)Web庫(kù) 322
18.1.6 標(biāo)準(zhǔn)庫(kù)之外的requests 324
18.2 Web服務(wù)器 325
18.2.1 最簡(jiǎn)單的Python Web服務(wù)器 326
18.2.2 Web服務(wù)器網(wǎng)關(guān)接口(WSGI) 327
18.2.3 ASGI 327
18.2.4 Apache 328
18.2.5 NGINX 329
18.2.6 其他Python Web服務(wù)器 329
18.3 Web服務(wù)器框架 330
18.3.1 Bottle 330
18.3.2 Flask 332
18.3.3 Django 336
18.3.4 其他框架 336
18.4 數(shù)據(jù)庫(kù)框架 337
18.5 Web服務(wù)和自動(dòng)化 337
18.5.1 webbrowser 337
18.5.2 webview 338
18.6 Web API和REST 339
18.7 爬取數(shù)據(jù) 339
18.7.1 Scrapy 340
18.7.2 BeautifulSoup 340
18.7.3 requests-html 341
18.8 看場(chǎng)電影吧 341
18.9 后續(xù)內(nèi)容 344
18.10 練習(xí) 344
第 19 章 成為Python主義者 345
19.1 關(guān)于編程 345
19.2 尋找Python代碼 346
19.3 安裝Python包 346
19.3.1 使用pip 346
19.3.2 使用virtualenv 347
19.3.3 使用pipenv 347
19.3.4 使用包管理器 348
19.3.5 從源代碼安裝 348
19.4 集成化開發(fā)環(huán)境 348
19.4.1 IDLE 348
19.4.2 PyCharm 348
19.4.3 IPython 349
19.4.4 Jupyter Notebook 350
19.4.5 JupyterLab 351
19.5 名稱和文檔 351
19.6 添加類型提示 352
19.7 測(cè)試 353
19.7.1 使用pylint、pyflakes 和pep8檢查代碼 353
19.7.2 使用unittest進(jìn)行測(cè)試 355
19.7.3 使用doctest進(jìn)行測(cè)試 358
19.7.4 使用nose進(jìn)行測(cè)試 359
19.7.5 其他測(cè)試框架 360
19.7.6 持續(xù)集成 360
19.8 調(diào)試Python代碼 361
19.8.1 使用print() 361
19.8.2 使用裝飾器 362
19.8.3 使用pdb 363
19.8.4 使用breakpoint() 368
19.9 記錄錯(cuò)誤消息 368
19.10 優(yōu)化 370
19.10.1 測(cè)量時(shí)間 370
19.10.2 算法和數(shù)據(jù)結(jié)構(gòu) 373
19.10.3 Cython、NumPy和C擴(kuò)展 374
19.10.4 PyPy 374
19.10.5 Numba 374
19.11 源代碼控制 375
19.11.1 Mercurial 375
19.11.2 Git 376
19.12 分發(fā)你的程序 378
19.13 克隆本書 378
19.14 更多內(nèi)容 378
19.14.1 圖書 379
19.14.2 網(wǎng)站 379
19.14.3 團(tuán)體 380
19.14.4 會(huì)議 380
19.14.5 Python相關(guān)的工作機(jī)會(huì) 380
19.15 后續(xù)內(nèi)容 380
19.16 練習(xí) 381
第 20 章 Python的藝術(shù) 382
20.1 2D圖形 382
20.1.1 標(biāo)準(zhǔn)庫(kù) 382
20.1.2 PIL和Pillow 383
20.1.3 ImageMagick 386
20.2 3D圖形 387
20.3 3D動(dòng)畫 387
20.4 圖形用戶界面 388
20.5 繪圖、圖形和可視化 389
20.5.1 Matplotlib 389
20.5.2 Seaborn 391
20.5.3 Bokeh 393
20.6 游戲 393
20.7 音頻和音樂 393
20.8 后續(xù)內(nèi)容 394
20.9 練習(xí) 394
第 21 章 工作中的Python 395
21.1 Microsoft Office套件 395
21.2 執(zhí)行企業(yè)任務(wù) 396
21.3 處理企業(yè)數(shù)據(jù) 397
21.3.1 提取、轉(zhuǎn)換和裝載 397
21.3.2 數(shù)據(jù)驗(yàn)證 400
21.3.3 其他信息源 400
21.4 開源Python企業(yè)包 400
21.5 金融中的Python 401
21.6 商業(yè)數(shù)據(jù)安全 401
21.7 地圖 402
21.7.1 格式 402
21.7.2 根據(jù)shapefile繪制地圖 403
21.7.3 Geopandas 405
21.7.4 其他繪圖包 405
21.7.5 應(yīng)用和數(shù)據(jù) 406
21.8 后續(xù)內(nèi)容 406
21.9 練習(xí) 406
第 22 章 Python的科學(xué) 407
22.1 標(biāo)準(zhǔn)庫(kù)中的數(shù)學(xué)和統(tǒng)計(jì) 407
22.1.1 數(shù)學(xué)函數(shù) 407
22.1.2 處理復(fù)數(shù) 409
22.1.3 使用decimal精確計(jì)算浮點(diǎn)數(shù) 410
22.1.4 使用fractions執(zhí)行有理數(shù)運(yùn)算 410
22.1.5 使用array創(chuàng)建壓縮序列 411
22.1.6 使用statistics進(jìn)行簡(jiǎn)單的統(tǒng)計(jì) 411
21.1.7 矩陣乘法 411
22.2 科學(xué)Python 411
22.3 NumPy 412
22.3.1 使用array()創(chuàng)建數(shù)組 412
22.3.2 使用arange()創(chuàng)建數(shù)組 413
22.3.3 使用zeros()、ones()和random()創(chuàng)建數(shù)組 413
22.3.4 使用reshape()改變數(shù)組的形狀 414
22.3.5 使用[]獲取元素 415
22.3.6 數(shù)組的算術(shù)運(yùn)算 416
22.3.7 線性代數(shù) 417
22.4 SciPy 418
22.5 SciKit 418
22.6 Pandas 418
22.7 Python和各個(gè)科學(xué)領(lǐng)域 419
22.8 后續(xù)內(nèi)容 420
22.9 練習(xí) 420
附錄A 寫給初級(jí)程序員的計(jì)算機(jī)軟硬件知識(shí) 421
附錄B 安裝Python 3 430
附錄C 截然不同的async 437
附錄D 習(xí)題答案 442
附錄E 速查表 483
你還可能感興趣
我要評(píng)論
|