《(被158622替代)Python語言及其套用》是2021年7月人民郵電出版社出版的圖書。
基本介紹
- 中文名:(被158622替代)Python語言及其套用
- 作者:美] 盧布諾維克(Bill Lubanovic)
- 出版時間:2021年7月
- 出版社:人民郵電出版社
- ISBN:9787115407092
內容簡介,圖書目錄,作者簡介,
內容簡介
本書介紹Python 語言的基礎知識及其在各個領域的具體套用,基於新版本3.x。書中首先介紹了Python 語言的一些基本知識,然後介紹了在商業、科研以及藝術領域使用Python 開發各種套用的實例。文字簡潔明了,案例豐富實用,是一本難得的Python 入門手冊。
本書適合所有編程初學者閱讀。
圖書目錄
前言 xiv
第 1 章 Python 初探 1
1.1 真實世界中的Python 5
1.2 Python 與其他語言 5
1.3 為什麼選擇Python 7
1.4 何時不應該使用Python 8
1.5 Python 2 與Python 3 8
1.6 安裝Python 9
1.7 運行Python 9
1.7.1 使用互動式解釋器 9
1.7.2 使用Python 檔案 10
1.7.3 下一步 11
1.8 禪定一刻 11
1.9 練習 11
第 2 章 Python 基本元素:數字、字元串和變數 13
2.1 變數、名字和對象 13
2.2 數字 16
2.2.1 整數 17
2.2.2 優先權 20
2.2.3 基數 21
2.2.4 類型轉換 22
2.2.5 一個int 型有多大 23
2.2.6 浮點數 24
2.2.7 數學函式 24
2.3 字元串 24
2.3.1 使用引號創建 25
2.3.2 使用str進行類型轉換 27
2.3.3 使用\ 轉義 27
2.3.4 使用+ 拼接 28
2.3.5 使用* 複製 28
2.3.6 使用提取字元 28
2.3.7 使用[start:end:step] 分片 29
2.3.8 使用len獲得長度 31
2.3.9 使用split分割 32
2.3.10 使用join合併 32
2.3.11 熟悉字元串 32
2.3.12 大小寫與對齊方式 33
2.3.13 使用replace 替換 34
2.3.14 更多關於字元串的內容 35
2.4 練習 35
第3 章 Python 容器:列表、元組、字典與集合 36
3.1 列表和元組 36
3.2 列表 37
3.2.1 使用[] 或list 創建列表 37
3.2.2 使用list 將其他數據類型轉換成列表 37
3.2.3 使用[offset] 獲取元素 38
3.2.4 包含列表的列表 39
3.2.5 使用[offset] 修改元素 39
3.2.6 指定範圍並使用切片提取元素 40
3.2.7 使用append 添加元素到尾部 40
3.2.8 使用extend 或+= 合併列表 40
3.2.9 使用insert 在指定位置插入元素 41
3.2.10 使用del 刪除指定位置的元素 41
3.2.11 使用remove 刪除具有指定值的元素 42
3.2.12 使用pop 獲取並刪除指定位置的元素 42
3.2.13 使用index查詢具有特定值的元素位置 42
3.2.14 使用in 判斷值是否存在 42
3.2.15 使用count記錄特定值出現的次數 43
3.2.16 使用join 轉換為字元串 43
3.2.17 使用sort重新排列元素 44
3.2.18 使用len獲取長度 44
3.2.19 使用= 賦值,使用copy 複製 45
3.3 元組 46
3.3.1 使用() 創建元組 46
3.3.2 元組與列表 47
3.4 字典 47
3.4.1 使用{} 創建字典 48
3.4.2 使用dict 轉換為字典 48
3.4.3 使用[key] 添加或修改元素 49
3.4.4 使用update合併字典 50
3.4.5 使用del 刪除具有指定鍵的元素 51
3.4.6 使用clear 刪除所有元素 51
3.4.7 使用in 判斷是否存在 51
3.4.8 使用[key] 獲取元素 52
3.4.9 使用keys 獲取所有鍵 52
3.4.10 使用values 獲取所有值 53
3.4.11 使用items 獲取所有鍵值對 53
3.4.12 使用= 賦值,使用copy 複製 53
3.5 集合 53
3.5.1 使用set創建集合 54
3.5.2 使用set 將其他類型轉換為集合 54
3.5.3 使用in 測試值是否存在 55
3.5.4 合併及運算符 56
3.6 比較幾種數據結構 58
3.7 建立大型數據結構 59
3.8 練習 60
第4 章 Python 外殼:代碼結構 61
4.1 使用# 注釋 61
4.2 使用\ 連線 62
4.3 使用if、elif 和else 進行比較 63
4.4 使用while 進行循環 66
4.4.1 使用break 跳出循環 66
4.4.2 使用continue 跳到循環開始 67
4.4.3 循環外使用else 67
4.5 使用for 疊代 68
4.5.1 使用break 跳出循環 69
4.5.2 使用continue 跳到循環開始 69
4.5.3 循環外使用else 69
4.5.4 使用zip() 並行疊代 70
4.5.5 使用range() 生成自然數序列 71
4.5.6 其他疊代方式 71
4.6 推導式 72
4.6.1 列表推導式 72
4.6.2 字典推導式 74
4.6.3 集合推導式 74
4.6.4 生成器推導式 74
4.7 函式 75
4.7.1 位置參數 79
4.7.2 關鍵字參數 79
4.7.3 指定默認參數值 79
4.7.4 使用* 收集位置參數 80
4.7.5 使用** 收集關鍵字參數 81
4.7.6 文檔字元串 82
4.7.7 一等公民:函式 82
4.7.8 內部函式 84
4.7.9 閉包 84
4.7.10 匿名函式:lambda() 函式 85
4.8 生成器 86
4.9 裝飾器 87
4.10 命名空間和作用域 89
4.11 使用try 和except 處理錯誤 91
4.12 編寫自己的異常 93
4.13 練習 94
第5 章 Python 盒子:模組、包和程式 95
5.1 獨立的程式 95
5.2 命令行參數 96
5.3 模組和import 語句 96
5.3.1 導入模組 96
5.3.2 使用別名導入模組 98
5.3.3 導入模組的一部分 98
5.3.4 模組搜尋路徑 98
5.4 包 99
5.5 Python 標準庫 99
5.5.1 使用setdefault() 和defaultdict() 處理缺失的鍵 100
5.5.2 使用Counter() 計數 101
5.5.3 使用有序字典OrderedDict() 按鍵排序 103
5.5.4 雙端佇列:棧+ 佇列 103
5.5.5 使用itertools 疊代代碼結構 104
5.5.6 使用pprint() 友好輸出 105
5.6 獲取更多Python 代碼 105
5.7 練習 106
第6 章 對象和類 107
6.1 什麼是對象 107
6.2 使用class 定義類 108
6.3 繼承 109
6.4 覆蓋方法 111
6.5 添加新方法 112
6.6 使用super 從父類得到幫助 112
6.7 self 的自辯 113
6.8 使用屬性對特性進行訪問和設定 114
6.9 使用名稱重整保護私有特性 117
6.10 方法的類型 118
6.11 鴨子類型 119
6.12 特殊方法 120
6.13 組合 123
6.14 何時使用類和對象而不是模組 124
6.15 練習 126
第7 章 像高手一樣玩轉數據 127
7.1 文本字元串 127
7.1.1 Unicode 127
7.1.2 格式化 134
7.1.3 使用正則表達式匹配 137
7.2 二進制數據 144
7.2.1 位元組和位元組數組 144
7.2.2 使用struct 轉換二進制數據 145
7.2.3 其他二進制數據工具 148
7.2.4 使用binascii() 轉換位元組/ 字元串 149
7.2.5 位運算符 149
7.3 練習 149
第8 章 數據的歸宿 152
8.1 檔案輸入/ 輸出 152
8.1.1 使用write() 寫文本檔案 153
8.1.2 使用read()、readline() 或者readlines() 讀文本檔案 154
8.1.3 使用write() 寫二進制檔案 156
8.1.4 使用read() 讀二進制檔案 157
8.1.5 使用with 自動關閉檔案 157
8.1.6 使用seek() 改變位置 157
8.2 結構化的文本檔案 159
8.2.1 CSV 159
8.2.2 XML 161
8.2.3 HTML 163
8.2.4 JSON 163
8.2.5 YAML 165
8.2.6 安全提示 166
8.2.7 配置檔案 167
8.2.8 其他交換格式 168
8.2.9 使用pickle 序列化 168
8.3 結構化二進制檔案 169
8.3.1 電子數據表 169
8.3.2 層次數據格式 169
8.4 關係型資料庫 170
8.4.1 SQL 170
8.4.2 DB-API 172
8.4.3 SQLite 172
8.4.4 MySQL 174
8.4.5 PostgreSQL 174
8.4.6 SQLAlchemy 174
8.5 NoSQL 數據存儲 179
8.5.1 dbm family 180
8.5.2 memcached 180
8.5.3 Redis 181
8.5.4 其他的NoSQL 189
8.6 全文資料庫 189
8.7 練習 190
第9 章 剖析Web 191
9.1 Web 客戶端 192
9.1.1 使用telnet 進行測試 193
9.1.2 Python 的標準Web 庫 194
9.1.3 拋開標準庫:requests 195
9.2 Web 服務端 196
9.2.1 **簡單的Python Web 伺服器 196
9.2.2 Web 伺服器網關接口 198
9.2.3 框架 198
9.2.4 Bottle 198
9.2.5 Flask 201
9.2.6 非Python 的Web 伺服器 204
9.2.7 其他框架 206
9.3 Web 服務和自動化 207
9.3.1 webbrowser 模組 207
9.3.2 Web API 和表述性狀態傳遞 208
9.3.3 JSON 209
9.3.4 抓取數據 209
9.3.5 用BeautifulSoup 來抓取HTML 209
9.4 練習 210
第 10 章 系統 212
10.1 檔案 212
10.1.1 用open() 創建檔案 212
10.1.2 用exists() 檢查檔案是否存在 213
10.1.3 用isfile() 檢查是否為檔案 213
10.1.4 用copy() 複製檔案 213
10.1.5 用rename() 重命名檔案 214
10.1.6 用link() 或者symlink() 創建連結 214
10.1.7 用chmod() 修改許可權 214
10.1.8 用chown() 修改所有者 214
10.1.9 用abspath() 獲取路徑名 215
10.1.10 用realpath() 獲取符號的路徑名 215
10.1.11 用remove() 刪除檔案 215
10.2 目錄 215
10.2.1 使用mkdir() 創建目錄 215
10.2.2 使用rmdir() 刪除目錄 215
10.2.3 使用listdir() 列出目錄內容 216
10.2.4 使用chdir() 修改當前目錄 216
10.2.5 使用glob() 列出匹配檔案 216
10.3 程式和進程 217
10.3.1 使用subprocess 創建進程 218
10.3.2 使用multiprocessing 創建進程 219
10.3.3 使用terminate() 終止進程 219
10.4 日期和時間 220
10.4.1 datetime 模組 221
10.4.2 使用time 模組 223
10.4.3 讀寫日期和時間 225
10.4.4 其他模組 227
10.5 練習 228
第 11 章 並發和網路 229
11.1 並發 230
11.1.1 佇列 231
11.1.2 進程 231
11.1.3 執行緒 232
11.1.4 綠色執行緒和gevent 234
11.1.5 twisted 236
11.1.6 asyncio 238
11.1.7 Redis 238
11.1.8 佇列之上 241
11.2 網路 241
11.2.1 模式 242
11.2.2 發布- 訂閱模型 242
11.2.3 TCP/IP 245
11.2.4 套接字 246
11.2.5 ZeroMQ 250
11.2.6 scapy 253
11.2.7 網路服務 253
11.2.8 Web 服務和API 255
11.2.9 遠程處理 256
11.2.10 大數據和MapReduce 260
11.2.11 在雲上工作 261
11.3 練習 264
第 12 章 成為真正的Python 開 發者 265
12.1 關於編程 265
12.2 尋找Python 代碼 265
12.3 安裝包 266
12.3.1 使用pip 266
12.3.2 使用包管理工具 267
12.3.3 從原始碼安裝 267
12.4 集成開發環境 268
12.4.1 IDLE 268
12.4.2 PyCharm 268
12.4.3 IPython 269
12.5 命名和文檔 269
12.6 測試代碼 270
12.6.1 使用pylint、pyflakes 和pep8 檢查代碼 270
12.6.2 使用unittest 進行測試 272
12.6.3 使用doctest 進行測試 276
12.6.4 使用nose 進行測試 277
12.6.5 其他測試框架 278
12.6.6 持續集成 278
12.7 調試Python 代碼 278
12.8 使用pdb 進行調試 279
12.9 記錄錯誤日誌 284
12.10 最佳化代碼 286
12.10.1 測量時間 286
12.10.2 算法和數據結構 288
12.10.3 Cython、NumPy 和C 擴展 289
12.10.4 PyPy 289
12.11 源碼控制 289
12.11.1 Mercurial 290
12.11.2 Git 290
12.12 複製本書代碼 292
12.13 更多內容 293
12.13.1 書 293
12.13.2 網站 293
12.13.3 社區 293
12.13.4 大會 294
12.14 後續內容 294
附錄A Python 的藝術 295
附錄B 工作中的Python 307
附錄C Python 的科學 320
附錄D 安裝Python 3 339
附錄E 習題解答 349
附錄F 速查表 380
作者介紹 383
封面介紹 383
作者簡介
Bill Lubanovic現為Penguin Computing公司高 級軟體工程師。1977年開始開發Unix軟體,1981年開始開發GUI軟體,1990年開始開發資料庫軟體,1993年開始開發Web軟體。與人合著有Linux System Administration。