內容簡介
本書全麵、係統、深入地講解瞭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天學通Python(第2版) epub pdf mobi txt 電子書 下載 2024
21天學通Python(第2版) 下載 epub mobi pdf txt 電子書