《21天學通Python(第2版)》是2018年2月電子工業出版社出版的圖書,作者是劉凌霞、郝寧波、吳海濤。
基本介紹
- 中文名:21天學通Python(第2版)
- 作者:劉凌霞、郝寧波、吳海濤
- 出版時間:2018年2月
- 出版社:電子工業出版社
- 頁數:344 頁
- ISBN:9787121333491
- 定價:59.8 元
- 開本:16 開
內容簡介,圖書目錄,
內容簡介
本書全面、系統、深入地講解了Python編程基礎語法與高級套用。在講解過程中,通過大量實際操作的實例將Python語言知識全面、系統、深入地呈現給讀者。此外,作者專門為本書錄製了大量的配套教學視頻,讓讀者通過分析實例、運行實例儘快熟悉Python編程,在學習中遇到問題時,也可以作為參考。本書共分3篇。第1篇介紹Python語言的特點、安裝、語法基礎、程式流程控制、面向過程的編程方法、面向對象的編程方法、程式異常的處理;第2篇介紹了Python語言中的包與模組、疊代器、生成器、裝飾器、上下文管理器等進階語法,同時介紹了使用Python標準庫中的檔案系統處理、圖形化界面編程、正則表達式、網路編程、多進(線)程編程、資料庫編程。此外,還介紹了運用第三方庫的Web網站編程、圖片處理;第3篇通過兩個案例介紹Python的綜合編程技術。本書內容涉及面廣,從基本操作到高級技術及綜合案例,涉及Python 語言的基礎語法和編程特性,而且實例實用、豐富,尤其適合廣大編程初學者自學,也適合對Python 語言感興趣的愛好者作為參考用書。
圖書目錄
第1 篇 Python 編程基礎
第1 章 編程與Python 1
1.1 什麼是編程 1
1.1.1 硬體與軟體 1
1.1.2 程式語言 2
1.1.3 編程與調試 3
1.2 選擇Python 的理由 4
1.2.1 Python 是免費的自由軟體 4
1.2.2 Python 是跨平台的 4
1.2.3 Python 功能強大 4
1.2.4 Python 清晰優雅 5
1.3 安裝Python 5
1.3.1 在Windows 下安裝Python 6
1.3.2 在Linux 下安裝Python 7
1.4 選擇開發工具 9
1.4.1 Python 自帶開發工具:IDLE 9
1.4.2 文本編輯器:Emacs 10
1.4.3 Python 開發工具:PythonWin 12
1.5 編輯和運行Python 程式 15
1.5.1 你好,Python 15
1.5.2 運行程式檔案 15
1.5.3 互動式運行Python 16
1.6 小結 17
1.7 本章習題 17
第2 章 Python 起步 18
2.1 Python 語法基礎 18
2.1.1 縮進分層 18
2.1.2 代碼注釋 19
2.1.3 斷行 19
2.2 Python 輸入/輸出 20
2.2.1 接收鍵盤/輸入 20
2.2.2 顯示處理結果 21
2.3 用Python 計算 21
2.3.1 算式與代數式運算 22
2.3.2 驚奇 23
2.4 小結 24
2.5 本章習題 24
第3 章 Python 數據類型 26
3.1 Python 簡單數據類型 26
3.1.1 字元串(str) 26
3.1.2 整數(int) 29
3.1.3 浮點數(float) 30
3.1.4 類型轉換 30
3.2 字元串進階 31
3.2.1 原始字元串 31
3.2.2 格式化字元串 32
3.2.3 中文字元串處理 32
3.3 標誌符與賦值號 33
3.3.1 標誌符 33
3.3.2 賦值號“=” 33
3.4 Python 結構數據類型 34
3.4.1 列表(list) 34
3.4.2 元組(tuple) 36
3.4.3 字典(dict) 36
3.5 內置常量與邏輯運算符、比較運算符 38
3.5.1 常用內置常量 38
3.5.2 Python 中邏輯運算符 38
3.5.3 Python 中比較運算符 39
3.5.4 Python 中其他邏輯操作符 39
3.6 序列 40
3.6.1 序列切片 40
3.6.2 序列內置操作 41
3.7 小結 42
3.8 本章習題 42
第4章 控制語句執行流程 44
4.1 用if 選擇執行語句 44
4.1.1 if 基礎 44
4.1.2 if 語句的嵌套 47
4.2 用for 循環執行語句 49
4.2.1 for 基礎 49
4.2.2 for 語句與break 語句、continue 語句 49
4.2.3 for 語句與range函式 51
4.2.4 for 語句與內置疊代函式. 52
4.3 用while 循環執行語句 53
4.3.1 while 基礎 53
4.3.2 增量賦值運算符 54
4.4 推導或內涵(list comprehension) 55
4.4.1 推導基礎 55
4.4.2 推導進階 55
4.5 小結 56
4.6 本章習題 56
第5 章 自定義功能單元(一) 58
5.1 使用函式 58
5.1.1 聲明函式 58
5.1.2 調用函式 59
5.2 深入函式 60
5.2.1 默認值參數 60
5.2.2 參數傳遞 62
5.2.3 可變數量參數傳遞 62
5.2.4 拆解序列的函式調用 65
5.2.5 函式調用時參數的傳遞方法 65
5.3 變數的作用域 67
5.4 使用匿名函式(lambda) 68
5.5 Python 常用內建函式 69
5.6 小結 70
5.7 本章習題 70
第6 章 自定義功能單元(二) 72
6.1 面向對象編程概述 72
6.1.1 萬物皆對象 72
6.1.2 對象優越性 73
6.1.3 類和對象 73
6.2 定義和使用類 73
6.2.1 定義類 73
6.2.2 使用類 74
6.3 類的屬性和方法 75
6.3.1 類的方法 75
6.3.2 類的屬性 77
6.3.3 類成員方法與靜態方法 79
6.4 類的繼承 80
6.4.1 類的繼承 80
6.4.2 多重繼承 81
6.4.3 方法重載 83
6.5 小結 83
6.6 本章習題 83
第7 章 錯誤、異常和程式調試 85
7.1 語法錯誤 85
7.2 異常的處理 86
7.2.1 異常處理的基本語法 86
7.2.2 Python 主要的內置異常及其處理 88
7.3 手工拋出異常 90
7.3.1 用raise 手工拋出異常 90
7.3.2 assert 語句 91
7.3.3 自定義異常類 92
7.4 用pdb 調試程式 93
7.4.1 調試語句塊函式 93
7.4.2 調試函式 94
7.5 測試程式 95
7.5.1 用testmod 函式測試 95
7.5.2 用testfile 函式測試 96
7.6 小結 97
7.7 本章習題 97
第2 篇 Python 編程高階
第8 章 複雜程式組織 99
8.1 模組 99
8.1.1 模組概述 99
8.1.2 自己編寫模組 100
8.1.3 模組位置 101
8.1.4 __pycache__目錄 102
8.1.5 具有獨立運行能力的模組 102
8.2 包 103
8.2.1 包概述 103
8.2.2 包詳解 104
8.3 Python 常用標準庫簡介 105
8.3.1 數學類模組 105
8.3.2 日期與時間類 106
8.4 小結 106
8.5 本章習題 106
第9 章 疊代器、生成器與裝飾器 108
9.1 疊代器 108
9.1.1 疊代器概述 108
9.1.2 自定義疊代器 109
9.1.3 內置疊代器工具 109
9.2 生成器 112
9.2.1 生成器創建 112
9.2.2 深入生成器 113
9.2.3 生成器與協程 114
9.3 裝飾器 115
9.3.1 裝飾器概述 115
9.3.2 裝飾函式 115
9.3.3 裝飾類 116
9.4 小結 117
9.5 本章習題 118
第10 章 Python 進階話題 119
10.1 函式與命名空間 119
10.2 閉包及其套用 120
10.2.1 閉包概述 120
10.2.2 閉包與延遲求值 121
10.2.3 閉包與泛型函式 121
10.3 上下文管理器 122
10.4 用字元串操作對象屬性 124
10.5 用字典構造分支程式 125
10.6 重載類的特殊方法 126
10.7 鴨子類型(duck typing)與多態 127
10.8 小結 128
10.9 本章習題 128
第11 章 檔案與檔案系統 130
11.1 檔案操作基礎 130
11.1.1 open函式 130
11.1.2 用fileinput 操作檔案 132
11.2 常用檔案和目錄操作 133
11.2.1 獲得當前路徑 133
11.2.2 獲得目錄中的內容 133
11.2.3 創建目錄 134
11.2.4 刪除目錄 134
11.2.5 判斷是否是目錄 134
11.2.6 判斷是否為檔案 134
11.2.7 遍歷某目錄下的所有檔案和目錄 135
11.2.8 由檔案名稱批量獲取姓名和考號 135
11.2.9 批量檔案重命名 136
11.3 編譯為執行檔 137
11.3.1 用py2exe 生成可執行程式 137
11.3.2 用cx_freeze 生成執行檔 138
11.4 小結 140
11.5 本章習題 140
第12 章 基於tkinter 的GUI 編程 141
12.1 GUI 概述 141
12.1.1 GUI 是什麼 141
12.1.2 Python 編寫GUI 程式庫 141
12.2 tkinter 圖形化庫簡介 142
12.2.1 創建GUI 程式第一步 142
12.2.2 創建GUI 程式第二步 143
12.3 tkinter 組件 144
12.3.1 組件分類 144
12.3.2 布局組件 144
12.4 常用tkinter 組件 145
12.4.1 按鈕 145
12.4.2 文本框 147
12.4.3 標籤 148
12.4.4 選單 149
12.4.5 單選框和複選框 151
12.4.6 繪製圖形 153
12.5 回響操作事件 155
12.5.1 事件基礎 155
12.5.2 回響事件 157
12.6 對話框 159
12.6.1 標準對話框 159
12.6.2 自定義對話框 165
12.7 小結 166
12.8 本章習題 166
第13 章 正則表達式 168
13.1 正則表達式基礎 168
13.1.1 正則表達式概述 168
13.1.2 正則表達式基本元字元 168
13.1.3 常用正則表達式 170
13.2 re 模組 171
13.2.1 正則匹配搜尋函式 171
13.2.2 sub與subn函式 172
13.2.3 split函式 173
13.2.4 正則表達式對象 173
13.3 分組匹配與匹配對象使用 177
13.3.1 分組基礎 177
13.3.2 分組擴展 177
13.3.3 匹配對象與組的使用 178
13.3.4 匹配對象與索引使用 179
13.4 正則表達式套用示例 180
13.5 小結 182
13.6 本章習題 182
第14 章 網路編程 183
14.1 網路編程基礎 183
14.1.1 什麼是網路 183
14.1.2 網路協定 183
14.1.3 地址與連線埠 184
14.2 套接字的使用 185
14.2.1 用socket 建立伺服器端程式 185
14.2.2 用socket 建立客戶端程式 186
14.2.3 用socket 建立基於UDP 協定的伺服器與客戶端程式 188
14.2.4 用socketserver 模組建立伺服器 189
14.3 urllib 與http 包使用 190
14.3.1 urllib 和http 包簡介 190
14.3.2 用urllib 和http 包訪問網站 193
14.4 用poplib 與smtplib 庫收發郵件 194
14.4.1 用poplib 檢查郵件 194
14.4.2 用smtplib 傳送郵件 196
14.5 用ftplib 訪問FTP 服務 198
14.5.1 ftplib 模組簡介 198
14.5.2 使用Python 訪問FTP 200
14.6 小結 202
14.7 本章習題 202
第15 章 執行緒和進程 203
15.1 執行緒 203
15.1.1 用threading.Thread 直接線上程中運行函式 203
15.1.2 通過繼承threading.Thread 類來創建執行緒 204
15.1.3 執行緒類Thread 使用 204
15.2 進程 208
15.2.1 進程基礎 208
15.2.2 用Popen 類創建進程 209
15.3 小結 211
15.4 本章習題 211
第16 章 資料庫編程 212
16.1 Python 資料庫應用程式接口 212
16.1.1 資料庫應用程式接口概述 212
16.1.2 資料庫游標的使用 213
16.2 Python 操作SQLite3 資料庫 213
16.2.1 SQLite3 資料庫簡介 214
16.2.2 SQLite3 資料庫操作實例 214
16.3 Python 操作MariaDB 資料庫 216
16.3.1 MariaDB 資料庫簡介 217
16.3.2 建立MariaDB 資料庫操作環境 217
16.3.3 MariaDB 資料庫操作實例 219
16.4 Python 操作MongoDB 資料庫 221
16.4.1 MongoDB 資料庫簡介 221
16.4.2 建立MongoDB 資料庫操作環境 221
16.4.3 MongoDB 資料庫基礎 222
16.4.4 MongoDB 資料庫操作實例 225
16.4.5 用對象關係映射(ORM)工具操作MongoDB 資料庫 227
16.5 小結 230
16.6 本章習題 230
第17 章 Web 網站編程 231
17.1 Web 網站編程概述 231
17.2 Flask Web 框架及其套用 232
17.2.1 Flask Web 框架簡介 232
17.2.2 Flask Web 框架初識 232
17.2.3 URL 裝飾器與URL 參數傳遞 234
17.2.4 GET 與POST 請求的參數傳遞 236
17.2.5 使用cookie 與session 跟蹤客戶 238
17.2.6 使用靜態檔案資源與頁面檔案 241
17.2.7 接收上傳檔案 242
17.2.8 在Flask 框架中使用資料庫 243
17.3 Tornado Web 框架及其套用 246
17.3.1 Tornado 框架簡介 246
17.3.2 Tornado 框架初識 246
17.3.3 請求參數的獲取 248
17.3.4 用cookie 與安全cookie 跟蹤客戶 250
17.3.5 URL 轉向與靜態檔案資源 251
17.3.6 Tornado Web 框架套用舉例 253
17.4 小結 258
17.5 本章習題 258
第18 章 數據結構基礎 260
18.1 表、棧和佇列 260
18.1.1 用列表來創建表 260
18.1.2 自定義棧數據結構 261
18.1.3 實現佇列功能 263
18.2 樹和圖 264
18.2.1 用列表構建樹 264
18.2.2 實現二叉樹類與遍歷二叉樹 265
18.2.3 用字典構建與搜尋圖 268
18.3 查找與排序 270
18.3.1 實現二分查找 270
18.3.2 用二叉樹排序 272
18.4 小結 274
18.5 本章習題 274
第19 章 用Pillow 庫處理圖片 275
19.1 第三方Pillow 庫概述 275
19.1.1 安裝第三方Pillow 庫 275
19.1.2 Pillow 庫簡介 275
19.1.3 Pillow 庫處理圖像基礎 276
19.1.4 Image 模組中函式的使用 277
19.1.5 Image 模組中Image 類的使用 280
19.1.6 使用ImageChops 模組進行圖片合成 285
19.1.7 使用ImageEnhance 模組增強圖像效果 288
19.1.8 使用ImageFilter 模組的濾鏡 289
19.1.9 使用ImageDraw 模組畫圖 290
19.2 使用Pillow 庫處理圖片舉例 291
19.2.1 圖片格式轉換 291
19.2.2 批量生成縮略圖 293
19.2.3 為圖片添加Logo 296
19.3 小結 300
19.4 本章習題 301
第3 篇 Python 編程實戰
第20 章 案例1 做一個Windows 上的360 工具 302
20.1 案例背景 302
20.2 從創建圖形化界面開始 303
20.2.1 創建基本圖形化工作界面 303
20.2.2 回響選單事件 305
20.3 清理垃圾檔案 307
20.3.1 疊代目錄 307
20.3.2 掃描垃圾檔案 308
20.3.3 多執行緒加速 310
20.3.4 掃描所有磁碟 311
20.3.5 刪除垃圾檔案 313
20.4 搜尋檔案 315
20.4.1 搜尋超大檔案 315
20.4.2 按名稱搜尋檔案 316
20.5 小結 317
第21 章 案例2 Python 搞定大數據 319
21.1 案例背景 319
21.1.1 大數據處理方式概述 319
21.1.2 處理日誌檔案 320
21.1.3 要實現的案例目標 321
21.2 分割日誌檔案 321
21.3 用Map 函式處理小檔案 323
21.4 用Reduce 函式歸集數據 325
21.5 小結 326