Python實戰教程

Python實戰教程

《Python實戰教程》是2022年人民郵電出版社出版的圖書。

基本介紹

  • 中文名:Python實戰教程
  • 作者:孔祥盛
  • 出版社:人民郵電出版社
  • 出版時間:2022年2月1日
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787115579638
內容簡介,圖書目錄,作者簡介,

內容簡介

本書採用“案例螺旋升級”驅動“知識螺旋升級”的編寫模式,針對同一案例,由淺入深地講解了10種實現方法,鞏固讀者所學知識,幫助讀者在實踐中體會知識的價值。全書共16章,內容涵蓋基本數據類型、自定義函式、控制語句、自定義模組和導入語句等Python基礎知識,面向對象編程、檔案管理、路徑管理、序列化和持久化等Python中級知識,Web開發、資料庫開發等Python不錯知識,字元編碼、BOM等拓展知識。
本書內容豐富、講解深入,可作為普通高等學校計算機專業相關課程的教材,也可作為廣大Python開發愛好者的自學參考書。

圖書目錄

第 1 章 Python 概述 13
1.1Python 簡介 13
1.2Python 的特點 14
1.3Python 解釋器(Python Interpreter) 15
1.4安裝 Python 解釋器 15
上機實踐 1:安裝 Python 解釋器和配置 Path 環境變數 15
場景 1:安裝 Python 解釋器(Python Interpreter) 15
場景 2:手工配置 Path 環境變數 18
上機實踐 2:互動模式下運行 Python 代碼 19
場景 1:通過 cmd 命令視窗啟動 Python Shell 19
場景 2:Python Shell 與 Python 解釋器的互動 20
場景 3:理解互動模式的特點 20
場景 4:退出 Python Shell(兩種方法) 21
上機實踐 3:運行 Python 程式(採用直接方式) 21
場景 1:準備工作 21
場景 2:使用記事本程式編寫 Python 程式 22
場景 3:採用直接方式運行 Python 程式 22
場景 4:修改 Python 解釋器解析 Python 程式的字元編碼 23
場景 5:將文本檔案中文本的字元編碼修改為 UTF-8 24
場景 6:Python 解釋器使用 GBK 碼解析 UTF-8 編碼的程式 25
場景 7:Python 解釋器使用 UTF-8 碼解析 GBK 編碼的程式 25
上機實踐 4:運行 Python 程式(採用間接方式) 25
上機實踐 5:利用自省功能自學 Python 27
場景 1:查看 Python 會話上定義的所有對象 28
場景 2:查看對象的數據類型(互動模式下) 28
場景 3:查看對象的屬性和方法 28
場景 4:查看對象的幫助信息 29
場景 5:查看 builtins 的相關信息 30
第 2 章 標識符和對象名 33
2.1標識符 33
2.1.1標識符的命名規則 33
2.1.2單下劃線標識符“_”的妙用 33
2.2Python 記憶體最佳化機制 33
2.3對象名的管理 33
2.3.1使用賦值語句為對象命名 34
2.3.2使用 del 語句刪除對象名 34
2.4對象和對象名間的關係總結 34
上機實踐 1:認識保留字(也叫關鍵字) 35
場景 1:查看 Python 的保留字 35
場景 2:理解 sys.path 和 import 語句的關係 36
場景 3:修改 sys.path 的值(第 1 種方法) 37
場景 4:修改 sys.path 的值(第 2 種方法) 37
上機實踐 2:理解 Python 的記憶體最佳化機制 37
場景 1:通過對象的記憶體地址理解 Python 的記憶體最佳化機制 1 37
場景 2:通過對象的記憶體地址理解 Python 的記憶體最佳化機制 2 38
上機實踐 3:對象名的管理 39
場景 1:理解賦值語句的執行流程 39
場景 2:其他格式的賦值語句 40
場景 3:使用 del 語句刪除對象名 40
第 3 章 初識內置數據類型 42
3.1常用的內置數據類型 42
3.2數字、布爾型數據和 None 42
3.2.1 數字 42
3.2.2布爾型數據(bool) 42
3.2.3None 42
3.3字元串 str 43
3.3.1字元串的特點 43
3.3.2轉義字元 43
3.3.3字元串的索引操作 43
3.3.4字元串的切片操作 44
3.3.5格式化字元串 44
3.4元組 tuple 44
3.5列表 list 44
3.6集合 set 44
3.7字典 dict 45
3.8對象的拷貝 45
上機實踐 1:認識數字、布爾型數據和 None 45
場景 1:認識整數 int 和浮點數 float 45
場景 2:認識布爾型數據 46
場景 3:None 對象的數據類型是 NoneType 46
上機實踐 2:認識字元串 46
場景 1:認識字元串 str 46
場景 2:了解單行注釋和多行注釋的區別 47
場景 3:認識轉義字元 47
場景 4:字元串的索引操作 48
場景 5:字元串的切片操作 48
場景 6:字元串不可變更 51
場景 7:格式化字元串 51
上機實踐 3:認識元組 tuple 51
場景 1:普通元組、空元組和單元素元組 51
場景 2:元組的索引和切片 51
場景 3:元組不可變更 52
上機實踐 4:認識列表 list 52
場景 1:普通列表、空列表 52
場景 2:列表的索引和切片 53
場景 3:列表可變更 53
上機實踐 5:認識集合 set 53
場景 1:集合內的元素不可重複、無先後順序 54
場景 2:空集合對象的創建 54
場景 3:集合內的元素不可變更 54
場景 4:集合的長度可變更 54
上機實踐 6:認識字典 dict 54
場景 1:字典內元素的“鍵”不可重複 54
場景 2:字典內元素的“鍵”不可變更 54
場景 3:空字典對象的創建 54
場景 4:字典是可變更的 55
上機實踐 7:對象的拷貝 55
場景 1:使用賦值語句“=”拷貝對象 55
場景 2:淺拷貝(藉助切片實現) 56
場景 3:淺拷貝(藉助 copy 模組的 copy 函式實現) 58
場景 4:深拷貝 58
上機實踐 8:理解“Python 中一切皆對象” 59
第 4 章 運算符和數據類型轉換 61
4.1運算符 61
4.1.1算術運算符 61
4.1.2比較運算符 61
4.1.3賦值運算符 61
4.1.4邏輯運算符 62
4.1.5成員運算符 62
4.1.6對象比較運算符 is 62
4.1.7條件運算符 62
4.2類型轉換的必要性 62
4.3理解 True 和“真”、False 和“假” 63
4.4精簡代碼的技巧 63
上機實踐 1:運算符 63
上機實踐 2:顯式類型轉換的必要性 66
上機實踐 3:常用的類型轉換函式 67
上機實踐 4:邏輯運算符 69
第 5 章 自定義函式 70
5.1代碼塊 70
5.2自定義函式的語法格式 71
5.3函式的生命周期 71
5.4命名空間(namespace) 71
5.4.1命名空間概述 72
5.4.2內部函式 72
5.4.3命名空間的 LEGB 規則 72
5.6形式參數 parameter 和實際參數 argument 73
5.7return 語句 73
5.8lambda 表達式 74
5.9組包和解包 74
5.10參數是可變更對象時的注意事項 74
上機實踐 1:理解函式的生命周期 74
上機實踐 2:理解命名空間 77
上機實踐 3:理解形式參數 parameter 和實際參數 argument 82
上機實踐 4:理解 return 語句 84
上機實踐 5:使用 lambda 表達式創建匿名函式對象 85
上機實踐 6:理解組包和解包 85
上機實踐 7:參數是可變更對象時的注意事項 88
第 6 章 控制語句 91
6.1if 語句 91
6.1.1不包含 else 子句的 if 語句 91
6.1.2包含 else 子句的 if 語句 91
6.1.3包含 elif 子句的 if 語句 92
6.2循環語句 92
6.2.1while 循環語句 92
6.2.2for 循環語句 93
6.2.3使用循環語句的建議 93
6.3其他控制語句 93
6.4強行終止程式的執行 94
6.5異常的處理 94
6.5.1常見的內置異常類型 95
6.5.2異常處理程式的完整語法格式 95
6.6控制語句中定義的對象名具有向外穿透性 96
上機實踐 1:if 語句 96
上機實踐 2:不包含 else 子句的 while 循環語句 98
上機實踐 3:不包含 else 子句的 for 循環語句 100
上機實踐 4:其他控制語句的使用 102
上機實踐 5:強行終止程式的執行 105
上機實踐 6:異常的處理 107
第 7 章 自定義模組和導入語句 112
7.1模組概述 112
7.1.1自定義模組 112
7.1.2Python 包的必要性 112
7.2sys.path 的第 1 個元素的兩種取值 113
7.3import 語句的 5 種常見用法 114
7.4模組的主次之分 114
7.4.1模組的 name 屬性 114
7.4.2 主模組 114
7.4.3非主模組 114
7.4.4模組名和模組的 name 屬性值間的關係 115
7.4.5模組的 name 屬性在測試中的作用 115
7.5主程式存放位置的建議 115
7.6 總結 116
7.6.1import 語句總結 116
7.6.2Python 程式與 Python 模組間的關係總結 117
上機實踐 1:認識自定義模組 117
上機實踐 2: init .py 程式的作用 118
上機實踐 3:import 語句的第 3 種用法 122
上機實踐 4:import 語句的第 4 種和第 5 種用法 124
上機實踐 5:Python 程式存在主模組和非主模組兩種身份 125
上機實踐 6:模組的 name 屬性在測試中的作用 127
上機實踐 7:主程式建議存放在項目根目錄下 130
第 8 章 項目實戰:學生管理系統的實現(列表和字典篇) 133
8.1元組對象 133
8.2集合對象 133
8.3列表對象 133
8.4字典對象 134
上機實踐 1:元組的套用 134
上機實踐 2:集合的套用 134
上機實踐 3:列表的套用 136
上機實踐 4:字典的套用 141
第 9 章 項目實戰:字元串的處理與格式化 146
9.1字元串的處理 146
9.2字元串的格式化 147
上機實踐 1:準備工作 147
上機實踐 2:字元串的處理 148
上機實踐 3:字元串的格式化 149
上機實踐 4:字元串的處理(綜合) 151
第 10 章 為什麼面向對象編程 154
10.1從認知現實世界的角度理解面向對象編程 154
10.1.1人類認知現實世界的過程 154
10.1.2計算機管理現實世界的過程 154
10.2從避免代碼冗餘的角度理解面向對象編程 155
10.2.1結構化編程 155
10.2.2面向對象編程 156
10.2.3理解類和對象之間的關係 157
10.3理解需求的重要性 158
10.4知識匯總 158
10.4.1現實世界 VS 計算機世界知識匯總 158
10.4.2結構化編程 VS 面向對象編程知識匯總 158
第 11 章 面向對象編程基礎知識 161
11.1定義類的語法格式 161
11.2類的定義、模板對象和實例化對象間的關係 161
11.2.1類的定義、模板對象和實例化對象間的關係 161
11.2.2函式和方法的關係 162
11.2.3查看模板對象和實例化對象的內部結構 162
11.2.4訪問模板對象和實例化對象的內部結構 162
11.3構造方法的構成 163
11.3.1 new 方法的語法格式 163
11.3.2 init 方法的語法格式 163
11.4對象的屬性和方法 163
11.4.1實例屬性和實例方法 163
11.4.2類方法和靜態方法 163
11.4.3 類屬性 164
11.5方法的鏈式調用 164
11.6 小結 164
上機實踐 1:類的定義、模板對象和實例化對象間的關係 166
上機實踐 2:構造方法、實例屬性和實例方法 173
上機實踐 3:類方法和靜態方法 177
上機實踐 4:類屬性的套用 181
上機實踐 5:方法的鏈式調用 182
第 12 章 檔案管理和路徑管理 184
12.1檔案、目錄和路徑 184
12.1.1檔案管理概述 184
12.1.2檔案的分類 184
12.1.3文本檔案的分類 184
12.1.4目錄和路徑 184
12.1.5保證路徑和相對路徑 185
12.1.6路徑管理概述 186
12.2檔案管理 186
12.2.1理解打開檔案 186
12.2.2理解讀檔案和寫檔案 187
12.2.3理解刷新檔案 188
12.2.4理解關閉檔案 188
12.3檔案管理知識匯總 188
12.4使用 pathlib 管理檔案路徑 189
上機實踐 1:檔案管理和路徑管理基礎知識 189
上機實踐 2:以“寫”模式打開文本檔案 190
上機實踐 3:以“讀”模式打開文本檔案 195
上機實踐 4:追加模式和排他寫模式 198
上機實踐 5:關閉檔案的正確方法 198
上機實踐 6:pathlib 模組的 Path 類的使用 201
第 13 章 項目實戰:學生管理系統的實現(JSON、CSV 和 pickle 篇) 208
13.1序列化和持久化 208
13.2json 模組的使用 208
13.2.1JSON 內置的數據類型 209
13.2.2json 模組的序列化和持久化方法 209
13.2.3記憶體中的對象和 JSON 文本數據相互轉換 210
13.3csv 模組的使用 210
13.3.1列表對象 CSV 文本檔案 211
13.3.2字典對象 CSV 文本檔案 212
13.4pickle 模組的使用 213
13.5 總結 213
上機實踐 1:json 模組的使用 213
上機實踐 2:csv 模組的使用 223
上機實踐 3:pickle 模組的使用 234
第 14 章 項目實戰:學生管理系統的實現(Web 篇) 238
14.1Web 開發概述 238
14.2Bottle 概述 238
14.3初識 FORM 表單 239
14.3.1表單標籤 239
14.3.2表單控制項 239
14.3.3表單按鈕 240
上機實踐 1:初識 Bottle 和認識 GET 請求 241
上機實踐 2:認識 POST 請求 244
上機實踐 3:Bottle 內置模板引擎的使用 247
上機實踐 4:學生管理系統的實現(Web 篇) 250
第 15 章 項目實戰:學生管理系統的實現(資料庫篇) 257
15.1SQLite 概述 257
15.2資料庫和資料庫表 257
15.3SQLite 數據類型 257
15.4創建資料庫表結構 258
15.5表記錄的操作 258
上機實踐 1:使用 sqlite3 模組操作 SQLite 資料庫 259
上機實踐 2:基於 Web 學生管理系統的實現(資料庫篇) 265
第 16 章 拓展知識 269
16.1認識字元和字元編碼 269
16.1.1十進制數和二進制數 269
16.1.2ASCII 編碼表和 ASCII 字元集 269
16.1.3十六進制數 270
16.1.4字元編碼表 270
16.1.5 字元集 270
16.1.6Unicode 編碼表 271
16.1.7實現 Unicode 編碼表的字元集 271
16.1.8UTF-8 流行的原因 272
16.1.9Python 字元串棄用 UTF-8 的原因 272
16.1.10理解字元編碼和字元解碼 273
16.2使用 IDLE 開發 Python 程式 281
16.3可疊代對象和疊代器對象 284
16.4生成器函式和生成器對象 288
16.5pip 包管理工具的使用 290
16.6Python 中的標點符號 293
16.7os 模組和 pathlib 模組的對比 295

作者簡介

孔祥盛,副教授,精通Java、JavaScript、PHP、Python等程式語言,熟悉Web開發、爬蟲、自動化測試、數據分析與數據挖掘、數據可視化、資料庫等技術,擅長將抽象的理論知識具體化、生活化,善於將綜合知識融會貫通於項目案例,主編教材《PHP基礎與實例教程》 印次20餘次,並獲河南省普通高等教育“十四五”規劃教材立項、河南省很好教材二等獎,主編教材《MySQL資料庫基礎與實例教程》印次近20次。

相關詞條

熱門詞條

聯絡我們