Python 快速入門 第3版

,

作者:[美]娜奧米·塞德

出版社:人民郵電出版社

ISBN:9787115509352

$42.45

產品號碼: 125148 貨號: 9787115509352 分類: , 標籤: , ,

這是一本Python快速入門書,基於Python 3.6編寫。本書分為4部分,第一部分講解Python的基礎知識,對Python進行概要的介紹;第二部分介紹Python程式設計的重點,涉及清單、元組、集合、字串、字典、流程控制、函數、模組和作用域、檔案系統、異常等內容;第三部分闡釋Python的特性,涉及類和物件導向、規則運算式、資料類型即物件、包、Python庫等內容;第四部分關注資料處理,涉及資料檔案的處理、網路資料、資料的保存和資料探索,最後給出了相關的案例。 本書框架結構清晰,內容編排合理,講解循序漸進,並結合大量示例和習題,讓讀者可以快速學習和掌握Python,既適合Python初學者學習,也適合作為專業程式師的簡明Python參考書。
 

目錄

第一部分 開始篇

第1章 關於Python 3
1.1 用Python的理由 3
1.2 Python的長處 3
1.2.1 Python易於使用 4
1.2.2 Python富有表現力 4
1.2.3 Python可讀性好 5
1.2.4 Python功能齊備 5
1.2.5 Python跨平臺 6
1.2.6 Python免費 6
1.3 Python的短板 6
1.3.1 Python不是速度最快的語言 7
1.3.2 Python的庫不算最多 7
1.3.3 Python在編譯時不檢查變數類型 7
1.3.4 Python對移動應用的支援不足 8
1.3.5 Python對多處理器的利用不充分 8
1.4 學Python 3的理由 8
1.5 小結 9

第2章 入門 10
2.1 Python的安裝 10
2.2 基礎交互模式和IDLE 12
2.2.1 基礎交互模式 12
2.2.2 IDLE整合式開發環境 13
2.2.3 基礎交互模式和IDLE的適用場景 13
2.3 使用IDLE的Python shell視窗 13
2.4 第 一個程式“Hello, world” 14
2.5 利用互動式提示符探索Python 15
2.6 小結 16

第3章 Python概述 17
3.1 Python簡介 17
3.2 內置資料類型 18
3.2.1 數值 18
3.2.2 列表 20
3.2.3 元組 21
3.2.4 字串 22
3.2.5 字典 23
3.2.6 集合 23
3.2.7 檔物件 23
3.3 流程控制語句結構 24
3.3.1 布林值和運算式 24
3.3.2 if-elif-else語句 25
3.3.3 while迴圈 25
3.3.4 for迴圈 25
3.3.5 函式定義 26
3.3.6 異常 27
3.3.7 用關鍵字with控制上下文 27
3.4 創建模組 28
3.5 物件導向程式設計 29
3.6 小結 31

第二部分 重點內容

第4章 基礎知識 35
4.1 縮進和代碼塊構建 35
4.2 識別注釋 36
4.3 變數和賦值 37
4.4 運算式 38
4.5 字串 39
4.6 數值 40
4.6.1 內置數值處理函數 41
4.6.2 高級數值處理函數 41
4.6.3 數值計算 41
4.6.4 複數 41
4.6.5 高級複數函數 42
4.7 None值 43
4.8 獲取用戶輸入 43
4.9 內置操作符 44
4.10 基本的Python編碼風格 44
4.11 小結 45

第5章 清單、元組和集合 46
5.1 清單類似於陣列 46
5.2 清單的索引機制 47
5.3 修改列表 49
5.4 對列表排序 51
5.4.1 自訂排序 52
5.4.2 sorted()函數 53
5.5 其他常用的列表操作 53
5.5.1 用in操作符判斷列表成員 53
5.5.2 用+操作符拼接列表 54
5.5.3 用*操作符初始化列表 54
5.5.4 用min和max方法求列表的最小值和最大值 54
5.5.5 用index方法搜索列表 54
5.5.6 用count方法對匹配項計數 55
5.5.7 列表操作小結 55
5.6 嵌套列表和深複製 56
5.7 元組 58
5.7.1 元組的基礎知識 59
5.7.2 單個元素的元組應加上逗號 60
5.7.3 元組的打包和拆包 60
5.7.4 列表和元組的相互轉換 61
5.8 集合 62
5.8.1 集合的操作 62
5.8.2 不可變集合 63
5.9 小結 64

第6章 字串 65
6.1 將字串理解為字元序列 65
6.2 基本的字串操作 66
6.3 特殊字元和轉義序列 66
6.3.1 基本的轉義序列 66
6.3.2 數位格式(八進制、十六進位)和Unicode編碼的轉義序列 67
6.3.3 對帶特殊字元的字串列印和求值的差異 68
6.4 字串方法 68
6.4.1 字串的split和join方法 69
6.4.2 將字串轉換為數值 70
6.4.3 去除多餘的空白符 71
6.4.4 字串搜索 72
6.4.5 字串修改 74
6.4.6 利用清單修改字串 75
6.4.7 其他有用的字串方法和常量 75
6.5 將物件轉換為字串 77
6.6 使用format方法 78
6.6.1 format方法和位置參數 78
6.6.2 format方法和具名引數 78
6.6.3 格式描述符 79
6.7 用%格式化字串 79
6.7.1 使用格式化序列 80
6.7.2 具名引數和格式化序列 81
6.8 字串內插 82
6.9 bytes對象 82
6.10 小結 84

第7章 字典 85
7.1 何為字典 85
7.2 字典的其他操作 87
7.3 單詞計數 90
7.4 可用作字典鍵的物件 90
7.5 疏鬆陣列 91
7.6 將字典用作緩存 92
7.7 字典的效率 93
7.8 小結 93

第8章 流程控制 94
8.1 while迴圈 94
8.2 if-elif-else語句 95
8.3 for迴圈 96
8.3.1 range函數 97
8.3.2 用初值和步進值控制range函數 97
8.3.3 在for迴圈中使用break和continue語句 98
8.3.4 for迴圈和元組拆包 98
8.3.5 enumerate函數 98
8.3.6 zip函數 99
8.4 清單和字典推導式 99
8.5 語句、代碼塊和縮進 101
8.6 布林值和布林運算式 103
8.6.1 大多數Python對象都能用作布林類型 104
8.6.2 比較操作符和布林操作符 104
8.7 編寫簡單的文字檔分析程式 105
8.8 小結 106

第9章 函數 107
9.1 基本的函式定義 107
9.2 多種函數參數 108
9.2.1 按位置給出形參 108
9.2.2 按形參名稱傳遞實參 109
9.2.3 變長實參 110
9.2.4 多種參數傳遞方式的混用 111
9.3 將可變物件用作函數實參 111
9.4 區域變數、非區域變數和全域變數 113
9.5 將函數賦給變數 115
9.6 lambda運算式 115
9.7 生成器函數 116
9.8 裝飾器 117
9.9 小結 118

第 10章 模組和作用域規則 120
10.1 何為模組 120
10.2 編寫第 一個模組 121
10.3 import語句 123
10.4 模組搜索路徑 124
10.5 模組內部私有名稱 126
10.6 庫和協力廠商模組 127
10.7 Python作用域規則和命名空間 127
10.8 小結 133

第 11章 Python程式 134
11.1 創建一個很簡單的程式 134
11.1.1 從命令列啟動腳本 135
11.1.2 命令列參數 135
11.1.3 腳本輸入/輸出的重定向 136
11.1.4 argparse模組 137
11.1.5 fileinput模組的使用 138
11.2 讓腳本在UNIX下直接運行 140
11.3 macOS系統中的腳本 140
11.4 Windows中多種腳本執行方式 140
11.4.1 從命令視窗或PowerShell中啟動腳本 141
11.4.2 Windows中的其他運行方式 141
11.5 程式和模組 141
11.6 發佈Python應用程式 146
11.6.1 wheel包 146
11.6.2 zipapp和pex 146
11.6.3 py2exe和py2app 147
11.6.4 用freeze創建可執行程式 147
11.7 小結 147

第 12章 檔案系統的使用 149
12.1 os、os.path和pathlib的對比 149
12.2 路徑和路徑名 150
12.2.1 絕對路徑和相對路徑 150
12.2.2 當前工作目錄 151
12.2.3 用pathlib模組訪問目錄 152
12.2.4 路徑名的處理 152
12.2.5 用pathlib處理路徑名 154
12.2.6 常用變數和函數 155
12.3 獲取檔資訊 156
12.4 檔案系統的其他操作 158
12.5 處理目錄樹下的所有檔 161
12.6 小結 162

第 13章 文件的讀寫 165
13.1 打開檔及file物件 165
13.2 關閉文件 166
13.3 以寫入等模式打開檔 166
13.4 讀寫文本及二進位資料的函數 167
13.5 用pathlib讀寫文件 169
13.6 螢幕輸入/輸出及重定向 169
13.7 用struct模組讀取結構化的二進位資料 172
13.8 用pickle將物件存入檔 173
13.9 用shelve保存對象 176
13.10 小結 178

第 14章 異常 179
14.1 異常簡介 179
14.1.1 錯誤和異常處理的一般原則 179
14.1.2 異常較為正式的定義 182
14.1.3 多種異常的處理 182
14.2 Python中的異常 182
14.2.1 Python異常的類型 183
14.2.2 引發異常 185
14.2.3 捕獲並處理異常 185
14.2.4 自訂新的異常 187
14.2.5 用assert語句偵錯工具 188
14.2.6 異常的繼承架構 188
14.2.7 示例:用Python編寫的磁片寫入程式 189
14.2.8 示例:正常計算過程中的異常 189
14.2.9 異常的適用場合 190
14.3 用到with關鍵字的上下文管理器 191
14.4 小結 192

第三部分 高級特性

第 15章 類和物件導向程式設計 195
15.1 定義類 195
15.2 執行個體變數 196
15.3 方法 197
15.4 類變數 199
15.5 靜態方法和類方法 201
15.5.1 靜態方法 201
15.5.2 類方法 202
15.6 繼承 203
15.7 類及執行個體變數的繼承 205
15.8 概括:Python類的基礎知識 206
15.9 私有變數和私有方法 208
15.10 用@property獲得更為靈活的執行個體變數 209
15.11 類實例的作用域規則和命名空間 210
15.12 析構函數和記憶體管理 214
15.13 多重繼承 214
15.14 小結 216

第 16章 規則運算式 218
16.1 何為規則運算式 218
16.2 帶特殊字元的規則運算式 219
16.3 規則運算式和原始字串 220
16.4 從字串提取出匹配文本 221
16.5 用規則運算式替換文本 224
16.6 小結 226

第 17章 資料類型即對象 227
17.1 類型即對象 227
17.2 類型的使用 228
17.3 類型和用戶自訂類 228
17.4 鴨子類型 230
17.5 何為特殊方法屬性 231
17.6 讓物件像清單一樣工作 232
17.7 特殊方法屬性__getitem__ 232
17.7.1 工作原理 233
17.7.2 實現完整的列表功能 234
17.8 完整實現清單功能的物件 235
17.9 由內置類型派生子類 237
17.9.1 由列表類型派生子類 237
17.9.2 由UserList派生子類 238
17.10 特殊方法屬性的適用場景 239
17.11 小結 239

第 18章 包 240
18.1 何為包 240
18.2 包的第 一個示例 240
18.3 包的實際例子 242
18.3.1 包內的__init__.py文件 243
18.3.2 mathproj包的基本用法 243
18.3.3 子包和子模組的載入 244
18.3.4 包內的import語句 245
18.4 __all__屬性 246
18.5 包的合理使用 246
18.6 小結 247

第 19章 Python庫的使用 248
19.1 “功能齊備”的標準
庫 248
19.1.1 各種資料類型的
管理 248
19.1.2 檔和存儲操作 250
19.1.3 作業系統服務的訪問 251
19.1.4 互聯網協定及其資料格式的使用 251
19.1.5 開發調試工具及運行時服務 252
19.2 標準庫之外的庫 253
19.3 添加其他Python庫 253
19.4 通過pip和venv安裝Python庫 253
19.4.1 帶–user標誌的安裝 254
19.4.2 虛擬環境 254
19.5 PyPI(即“乳酪商店”) 255
19.6 小結 255

第四部分 資料處理

第 20章 簡單的文件問題 259
20.1 問題:沒完沒了的資料檔案流 259
20.2 場景:無窮無盡的產品來源資料 259
20.3 引入更多目錄結構 261
20.4 節省存儲空間:壓縮和整理 263
20.4.1 檔案壓縮 263
20.4.2 檔清理 264
20.5 小結 265

第 21章 資料檔案的處理 266
21.1 ETL簡介 266
21.2 文字檔的讀取 267
21.2.1 文本編碼:ASCII、
Unicode等 267
21.2.2 非結構化文本 268
21.2.3 帶分隔符號的普通文字檔 270
21.2.4 csv模組 271
21.2.5 讀取csv檔並存為字典的清單 274
21.3 Excel文件 275
21.4 數據清洗 276
21.4.1 清洗 276
21.4.2 排序 277
21.4.3 資料清洗時的問題和陷阱 278
21.5 資料檔案的寫入 279
21.5.1 CSV和其他帶分隔符號的文件 279
21.5.2 Excel文件的寫入 280
21.5.3 資料檔案打包 280
21.6 小結 281

第 22章 網路資料 282
22.1 獲取文件 282
22.1.1 用Python從FTP伺服器獲取檔 283
22.1.2 通過SFTP協議獲取檔 284
22.1.3 通過HTTP/HTTPS協議獲取檔 284
22.2 通過API獲取資料 285
22.3 結構化資料格式 287
22.3.1 JSON數據 287
22.3.2 XML數據 291
22.4 抓取Web數據 295
22.5 小結 299

第 23章 資料的保存 300
23.1 關聯式資料庫 300
23.2 SQLite:sqlite3資料庫的用法 301
23.3 MySQL、PostgreSQL和其他關聯式資料庫的使用 303
23.4 利用ORM簡化資料庫操作 303
23.4.1 SQLAlchemy 304
23.4.2 用Alembic修改資料庫結構 307
23.5 NoSQL資料庫 310
23.6 用Redis實現鍵/值存儲 310
23.7 MongoDB中的文檔 313
23.8 小結 315

第 24章 資料探索 316
24.1 Python的資料探索工具 316
24.1.1 Python用於資料探索的優勢 316
24.1.2 Python能比試算表做得更好 317
24.2 Jupyter記事本 317
24.2.1 啟動內核 318
24.2.2 執行儲存格中的代碼 318
24.3 Python和pandas 319
24.3.1 為什麼要選用
pandas 319
24.3.2 pandas的安裝 320
24.3.3 Data Frame 320
24.4 數據清洗 322
24.4.1 用pandas載入並保存資料 322
24.4.2 用Data Frame進行資料清洗 324
24.5 資料聚合和處理 326
24.5.1 Data Frame的合併 326
24.5.2 資料選取 327
24.5.3 分組與聚合 328
24.6 數據繪圖 329
24.7 不用pandas的理由 330
24.8 小結 331

第 25章 案例研究 332
25.1 數據的下載 332
25.2 解析inventory數據 335
25.3 根據經緯度選擇一個觀測站 336
25.4 選擇觀測站並獲取其中繼資料 338
25.5 獲取並解析真實的天氣資料 341
25.5.1 獲取資料 341
25.5.2 解析天氣資料 341
25.6 將天氣資料存入資料庫(可選) 344
25.7 選取資料並作圖 345
25.8 用pandas對數據繪圖 346

附錄A Python文檔使用指南 347
習題答案(網上下載)
 

作者介紹

娜奧米·塞德(Naomi Ceder)

是Python軟體基金會首席。自2001年以來,她一直在學習、使用和教授Python。 她的程式設計生涯已經持續了近30年,使用過多種程式設計語言,做過Linux系統管理員、程式設計教師、開發人員和系統架構師。她從2001年開始使用Python,從此向各個層次的使用者講授Python,從12歲的孩子到專業程式設計人員都有。她向所有人宣傳Python,宣講加入內容豐富的社區的好處。她現在領導著Dick Blick Art Materials的一支開發團隊。
 

出版地

大陸

出版日期

07/01/2019

印刷

單色印刷

版別

初版

裝訂

平裝

語系

簡體中文