本書是指導零基礎人員學習并運用 Python 進行編程的實用工具書,在編寫過程中充分考慮了讀者的理解能力和程序在生活中的應用場景,以基礎語法與應用相結合作為一條主線來進行講解,講敘內容循序漸進,案例豐富翔實,并且全部來源于實際工作開發中。
本書分為入門篇、進階篇和高級篇。入門篇注重基礎知識的夯實,全方面說明語法的使用規則和實例,并進行系統性的分析,從而激發讀者對編程語言的思考,拓展其編寫能力。進階篇概述了面向對象的編程思想,并詳細說明了面向對象具有封裝、繼承、多態的特點。通過基礎語法的集成實現隊列(Queue)、棧(Stack)的數據結構,它們在程序運行中占據著非常重要位置。然后通過一定的邏輯處理關系集成語法實現冒泡、選擇等多種排序算法來滿足讀者對于算法的好奇心。最后涉及的進程和線程等內容,可以作為高并發優化方案。高級篇通過網絡編程實現本地與網絡的連接通道,以及網絡間的通信,再結合數據庫對持久化數據的處理達到實現網絡間數據共享的目的。然后,通過使用國人編寫的框架pyspider 進行爬蟲,以及使用 Django 和 Vue 框架創建 Web 項目。通過 wxpy 庫實現 Python 操作微信發送消息等基礎功能的開發,最后通過案例講解當今熱門應用微信小程序的開發。
本書適合零基礎或基礎薄弱,但又想快速掌握 Python 基礎技能的讀者學習和實踐,也可作為編程開發人員提升 Python 技能水平和豐富實戰經驗的指導用書,同時還可作為廣大職業院校、計算機培訓班相關專業與技能的教學參考用書。
楊焓,高級軟件開發工程師。長期從事軟件系統開發、集成和數據分析工作,對多種編程語言和數據庫有深入研究,積極探索人工智能在大數據集模型基礎上對醫學圖像、語音識別領域等方面的應用。對物聯網行業應用與開發有著豐富的經驗,長期著手于程序和物品間網絡通信開發,編寫智能機器人算法和性能控制。
第1篇 入門篇
1.1初識Python 3
1.1.1 Python的由來 3
1.1.2 Python的應用領域 4
1.1.3 Python 2和Python 3的版本
區別 5
1.2 Python的安裝 6
1.2.1 Windows系統的Python
安裝 7
1.2.2 Linux系統的Python安裝 14
1.3 Python編輯工具 17
1.3.1 Pycharm和Eclipse 18
1.3.2 工具的配置 22
思考與練習 26
常見異常與解析 26
本章小結 28
2.3.4 邏輯運算符 37
2.3.5 成員運算符 37
2.4 數據類型 38
2.4.1 基本數據類型 38
2.4.2 基本類型轉換 39
思考與練習 40
常見異常與解析 41
本章小結 42
3.1 集合 44
3.1.1 創建和添加元素 44
3.1.2 刪除集合 44
3.1.3 更新集合 45
3.1.4 集合邏輯運算 46
3.2 列表 46
3.2.1 序列與列表 46
3.2.2 列表基本操作 48
3.3 元組與字典 51
3.3.1 元組 52
3.3.2 字典 52
3.4 字符串 57
3.4.1 字符串基本操作 57
3.4.2 字符串常用操作 59
思考與練習 60
常見異常與解析 63
本章小結 64
4.1 條件語句 66
4.1.1 if...else語句 66
4.1.2 if...elif語句 67
4.1.3 嵌套條件語句 68
4.1.4 斷言 69
4.1.5 類三目運算 69
4.2 循環語句 70
4.2.1 while循環 70
4.2.2 for循環 72
4.2.3 嵌套for循環 74
4.2.4 循環語句與條件語句 74
4.3 異常 75
4.3.1 異常介紹 75
4.3.2 捕獲異常 75
4.3.3 自定義異常 76
思考與練習 77
常見異常與解析 79
本章小結 80
5.1 函數定義 82
5.1.1 函數的定義 82
5.1.2 可變參數和關鍵字參數 83
5.2 變量與函數 84
5.2.1 函數中的變量 84
5.2.2 私有函數與公開函數 85
5.3 裝飾器 86
5.3.1 無參數裝飾器 86
5.3.2 帶參數裝飾器 88
5.4 遞歸 90
5.4.1 遞歸出口 90
5.4.2 二分搜索 91
5.4.3 文件查找 91
5.5 匿名函數和高階函數 92
5.5.1 匿名函數 92
5.5.2 map遍歷函數 93
5.5.3 filter過濾函數 94
5.5.4 reduce復合函數 94
5.5.5 sorted排序函數 95
思考與練習 95
常見異常與解析 96
本章小結 98
6.1 re模塊 100
6.1.1 常用符號 100
6.1.2 re模塊操作 101
6.2 正則與頁面爬取 103
6.2.1 requests庫 103
6.2.2 爬取今日天氣狀況 105
思考與練習 106
常見異常與解析 107
本章小結 108
第2篇 進階篇
7.1 面向對象編程 111
7.1.1 面向對象特性 111
7.1.2 類的成員 111
7.1.3 訪問限制 111
7.2 特殊類的方法與函數 113
7.2.1 getter方法和setter方法 113
7.2.2 property函數 114
7.2.3 魔法函數 115
7.3 面向對象程序設計的特點 116
7.3.1 封裝 116
7.3.2 繼承 116
7.3.3 多態 117
7.4 特殊方法和反射 118
7.4.1 靜態方法和類方法 118
7.4.2 反射 119
思考與練習 120
常見異常與解析 121
本章小結 122
8.1 隊列和棧數據結構 124
8.1.1 隊列 124
8.1.2 棧 125
8.2 排序算法 126
8.2.1 冒泡排序 127
8.2.2 插入排序 127
8.2.3 選擇排序 128
思考與練習 128
常見異常與解析 129
本章小結 130
9.1 目錄操作 132
9.1.1 創建目錄 132
9.1.2 目錄基本操作 132
9.2 文件 133
9.2.1 讀/寫文件 133
9.2.2 刪除文件 135
9.2.3 用with語句打開文件 136
思考與練習 137
常見異常與解析 137
本章小結 138
10.1 進程 140
10.1.1 多進程 140
10.1.2 守護進程 142
10.2 線程 143
10.2.1 多線程 143
10.2.2 同步鎖 146
10.2.3 守護線程 147
思考與練習 149
常見異常與解析 150
本章小結 152
第3篇 高級篇
11.1 網絡編程概述 155
11.1.1 初識TCP/UDP協議 155
11.1.2 套接字簡介 157
11.2 socket編程 158
11.3 I/O模式 159
11.3.1 阻塞I/O模式 160
11.3.2 非阻塞I/O模式 161
11.3.3 異步I/O模式 161
11.3.4 I/O復用模式 162
常見異常與解析 163
本章小結 164
12.1 MySQL安裝 166
12.1.1 準備工作 166
12.1.2 安裝 167
12.2 數據庫的使用 171
12.2.1 數據庫連接 171
12.2.2 數據庫創建 173
12.2.3 數據庫表的CRUD 175
12.2.4 事務的ACID特性 182
12.3 非關系型數據庫 182
12.3.1 NoSQL的分類 182
12.3.2 Redis安裝 183
12.3.3 持久化 185
常見異常與解析 187
本章小結 188
13.1 網頁爬蟲概述 190
13.1.1 初識爬蟲 190
13.1.2 爬蟲分類 190
13.2 網頁爬取 191
13.2.1 安裝pyspider 191
13.2.2 爬取愛動物網站 193
13.2.3 存儲數據 197
13.2.4 狀態選擇 201
常見異常與解析 203
本章小結 206
14.1 常見設計模式 208
14.1.1 單例模式 208
14.1.2 簡單工廠模式 211
14.1.3 工廠方法模式 212
14.2 Django 框架 214
14.2.1 初識Django框架 214
14.2.2 搭建Django項目 215
14.2.3 訪問MySQL數據庫 217
14.2.4 model模型 220
14.2.5 view視圖 223
14.3 Web項目 225
14.3.1 項目準備 225
14.3.2 前后端分離 226
14.3.3 訪問數據庫 229
14.3.4 數據持久化 232
14.3.5 自定義中間件 235
14.3.6 禁止異地同時在線 237
14.3.7 假分頁與真分頁 240
14.3.8 退出 241
常見異常與解析 242
本章小結 246
15.1 wxpy庫應用 248
15.1.1 登錄微信 248
15.1.2 發送消息 250
15.2 微信小程序 251
15.2.1 準備工作 251
15.2.2 創建項目 251
15.2.3 建立連接 253
15.3 開發小程序 254
15.3.1 開發須知 254
15.3.2 登錄頁面 254
15.3.3 APP配置 256
15.4 數據處理 258
15.4.1 初始化數據 258
15.4.2 鉤子函數 260
15.4.3 登錄信息 261
15.4.4 音樂播放 262
15.4.5 熱門電影 263
15.5 小程序調試設置說明 265
常見異常與解析 266
本章小結 268