本書是指導零基礎人員學習并運用 Python 進行編程的實用工具書,在編寫過程中充分考慮了讀者的理解能力和程序在生活中的應用場景,以基礎語法與應用相結(jié)合作為一條主線來進行講解,講敘內(nèi)容循序漸進,案例豐富翔實,并且全部來源于實際工作開發(fā)中。
本書分為入門篇、進階篇和高級篇。入門篇注重基礎知識的夯實,全方面說明語法的使用規(guī)則和實例,并進行系統(tǒng)性的分析,從而激發(fā)讀者對編程語言的思考,拓展其編寫能力。進階篇概述了面向?qū)ο蟮木幊趟枷,并詳細說明了面向?qū)ο缶哂蟹庋b、繼承、多態(tài)的特點。通過基礎語法的集成實現(xiàn)隊列(Queue)、棧(Stack)的數(shù)據(jù)結(jié)構(gòu),它們在程序運行中占據(jù)著非常重要位置。然后通過一定的邏輯處理關(guān)系集成語法實現(xiàn)冒泡、選擇等多種排序算法來滿足讀者對于算法的好奇心。最后涉及的進程和線程等內(nèi)容,可以作為高并發(fā)優(yōu)化方案。高級篇通過網(wǎng)絡編程實現(xiàn)本地與網(wǎng)絡的連接通道,以及網(wǎng)絡間的通信,再結(jié)合數(shù)據(jù)庫對持久化數(shù)據(jù)的處理達到實現(xiàn)網(wǎng)絡間數(shù)據(jù)共享的目的。然后,通過使用國人編寫的框架pyspider 進行爬蟲,以及使用 Django 和 Vue 框架創(chuàng)建 Web 項目。通過 wxpy 庫實現(xiàn) Python 操作微信發(fā)送消息等基礎功能的開發(fā),最后通過案例講解當今熱門應用微信小程序的開發(fā)。
本書適合零基礎或基礎薄弱,但又想快速掌握 Python 基礎技能的讀者學習和實踐,也可作為編程開發(fā)人員提升 Python 技能水平和豐富實戰(zhàn)經(jīng)驗的指導用書,同時還可作為廣大職業(yè)院校、計算機培訓班相關(guān)專業(yè)與技能的教學參考用書。
楊焓,高級軟件開發(fā)工程師。長期從事軟件系統(tǒng)開發(fā)、集成和數(shù)據(jù)分析工作,對多種編程語言和數(shù)據(jù)庫有深入研究,積極探索人工智能在大數(shù)據(jù)集模型基礎上對醫(yī)學圖像、語音識別領域等方面的應用。對物聯(lián)網(wǎng)行業(yè)應用與開發(fā)有著豐富的經(jīng)驗,長期著手于程序和物品間網(wǎng)絡通信開發(fā),編寫智能機器人算法和性能控制。
第1篇 入門篇
1.1初識Python 3
1.1.1 Python的由來 3
1.1.2 Python的應用領域 4
1.1.3 Python 2和Python 3的版本
區(qū)別 5
1.2 Python的安裝 6
1.2.1 Windows系統(tǒng)的Python
安裝 7
1.2.2 Linux系統(tǒng)的Python安裝 14
1.3 Python編輯工具 17
1.3.1 Pycharm和Eclipse 18
1.3.2 工具的配置 22
思考與練習 26
常見異常與解析 26
本章小結(jié) 28
2.3.4 邏輯運算符 37
2.3.5 成員運算符 37
2.4 數(shù)據(jù)類型 38
2.4.1 基本數(shù)據(jù)類型 38
2.4.2 基本類型轉(zhuǎn)換 39
思考與練習 40
常見異常與解析 41
本章小結(jié) 42
3.1 集合 44
3.1.1 創(chuàng)建和添加元素 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
本章小結(jié) 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 循環(huán)語句 70
4.2.1 while循環(huán) 70
4.2.2 for循環(huán) 72
4.2.3 嵌套for循環(huán) 74
4.2.4 循環(huán)語句與條件語句 74
4.3 異常 75
4.3.1 異常介紹 75
4.3.2 捕獲異常 75
4.3.3 自定義異常 76
思考與練習 77
常見異常與解析 79
本章小結(jié) 80
5.1 函數(shù)定義 82
5.1.1 函數(shù)的定義 82
5.1.2 可變參數(shù)和關(guān)鍵字參數(shù) 83
5.2 變量與函數(shù) 84
5.2.1 函數(shù)中的變量 84
5.2.2 私有函數(shù)與公開函數(shù) 85
5.3 裝飾器 86
5.3.1 無參數(shù)裝飾器 86
5.3.2 帶參數(shù)裝飾器 88
5.4 遞歸 90
5.4.1 遞歸出口 90
5.4.2 二分搜索 91
5.4.3 文件查找 91
5.5 匿名函數(shù)和高階函數(shù) 92
5.5.1 匿名函數(shù) 92
5.5.2 map遍歷函數(shù) 93
5.5.3 filter過濾函數(shù) 94
5.5.4 reduce復合函數(shù) 94
5.5.5 sorted排序函數(shù) 95
思考與練習 95
常見異常與解析 96
本章小結(jié) 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
本章小結(jié) 108
第2篇 進階篇
7.1 面向?qū)ο缶幊?111
7.1.1 面向?qū)ο筇匦?111
7.1.2 類的成員 111
7.1.3 訪問限制 111
7.2 特殊類的方法與函數(shù) 113
7.2.1 getter方法和setter方法 113
7.2.2 property函數(shù) 114
7.2.3 魔法函數(shù) 115
7.3 面向?qū)ο蟪绦蛟O計的特點 116
7.3.1 封裝 116
7.3.2 繼承 116
7.3.3 多態(tài) 117
7.4 特殊方法和反射 118
7.4.1 靜態(tài)方法和類方法 118
7.4.2 反射 119
思考與練習 120
常見異常與解析 121
本章小結(jié) 122
8.1 隊列和棧數(shù)據(jù)結(jié)構(gòu) 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
本章小結(jié) 130
9.1 目錄操作 132
9.1.1 創(chuàng)建目錄 132
9.1.2 目錄基本操作 132
9.2 文件 133
9.2.1 讀/寫文件 133
9.2.2 刪除文件 135
9.2.3 用with語句打開文件 136
思考與練習 137
常見異常與解析 137
本章小結(jié) 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
本章小結(jié) 152
第3篇 高級篇
11.1 網(wǎng)絡編程概述 155
11.1.1 初識TCP/UDP協(xié)議 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
本章小結(jié) 164
12.1 MySQL安裝 166
12.1.1 準備工作 166
12.1.2 安裝 167
12.2 數(shù)據(jù)庫的使用 171
12.2.1 數(shù)據(jù)庫連接 171
12.2.2 數(shù)據(jù)庫創(chuàng)建 173
12.2.3 數(shù)據(jù)庫表的CRUD 175
12.2.4 事務的ACID特性 182
12.3 非關(guān)系型數(shù)據(jù)庫 182
12.3.1 NoSQL的分類 182
12.3.2 Redis安裝 183
12.3.3 持久化 185
常見異常與解析 187
本章小結(jié) 188
13.1 網(wǎng)頁爬蟲概述 190
13.1.1 初識爬蟲 190
13.1.2 爬蟲分類 190
13.2 網(wǎng)頁爬取 191
13.2.1 安裝pyspider 191
13.2.2 爬取愛動物網(wǎng)站 193
13.2.3 存儲數(shù)據(jù) 197
13.2.4 狀態(tài)選擇 201
常見異常與解析 203
本章小結(jié) 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數(shù)據(jù)庫 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 訪問數(shù)據(jù)庫 229
14.3.4 數(shù)據(jù)持久化 232
14.3.5 自定義中間件 235
14.3.6 禁止異地同時在線 237
14.3.7 假分頁與真分頁 240
14.3.8 退出 241
常見異常與解析 242
本章小結(jié) 246
15.1 wxpy庫應用 248
15.1.1 登錄微信 248
15.1.2 發(fā)送消息 250
15.2 微信小程序 251
15.2.1 準備工作 251
15.2.2 創(chuàng)建項目 251
15.2.3 建立連接 253
15.3 開發(fā)小程序 254
15.3.1 開發(fā)須知 254
15.3.2 登錄頁面 254
15.3.3 APP配置 256
15.4 數(shù)據(jù)處理 258
15.4.1 初始化數(shù)據(jù) 258
15.4.2 鉤子函數(shù) 260
15.4.3 登錄信息 261
15.4.4 音樂播放 262
15.4.5 熱門電影 263
15.5 小程序調(diào)試設置說明 265
常見異常與解析 266
本章小結(jié) 268