Python編程基礎與應用——任務式案例教程
許桂秋 張東生 謝鴻穩
商品描述
本書是一本全面介紹Python編程語言的專業圖書,旨在幫助讀者從零開始學習Python,掌握其基礎知識和應用技巧。
本書共13章,涵蓋Python的基礎知識和多個領域的應用。第1章介紹Python的背景和特點,幫助讀者逐步搭建Python開發環境,為後續章節的學習打下基礎;第2~4章詳細介紹Python的基礎語法、變量和數據類型,這些知識能夠幫助讀者學會編寫簡單的程序;第5~8章介紹Python程序設計的高級主題,例如函數、模塊、異常處理和文件操作,這些知識能夠幫助讀者編寫復雜、可重用的程序;第9~13章介紹Python在不同領域的應用,其中包括數據分析、網絡編程、Web開發、數據分析等,這些知識可以幫助讀者在不同領域使用Python實現具體應用。
本書可以作為高等院校計算機、數據科學與大數據技術等相關專業的Python程序設計教材,也可作為從事數據分析相關工作的技術人員的參考用書。
作者簡介
許桂秋,北京中科特瑞科技有限公司運營總監,主要研究方向為大數據、人工智能技術,已出版《大數據導論》《Python編程基礎與應用》《NoSQL數據庫原理與應用》《數據挖掘與機器學習》等圖書。
目錄大綱
第 1章 Python程序設計概述 1
1.1 計算機與程序 1
1.2 Python語言簡介 2
1.3 Python的開發環境 4
1.3.1 Python解釋器 5
1.3.2 PyCharm 8
1.3.3 REPL 11
1.3.4 Python腳本 12
第 2章 Python程序設計基礎 14
2.1 Python編碼規範 14
2.1.1 註釋規則 14
2.1.2 代碼縮進 15
2.2 關鍵字和標識符 16
2.2.1 關鍵字 16
2.2.2 標識符 17
2.3 運算符與數據類型 17
2.3.1 運算符與表達式 17
2.3.2 數據類型 21
2.4 語句與變量 22
2.4.1 語句 22
2.4.2 變量 23
2.4.3 實訓案例:打印購物小票 24
2.4.4 實訓案例:打印螞蟻森林植樹證書 24
2.5 字符串 25
2.5.1 字符串的基本概念 25
2.5.2 字符串的索引和切片 27
2.5.3 字符串的拼接 29
2.5.4 特殊字符和字符轉義 31
2.5.5 字符串的常用操作 31
2.5.6 實訓案例:身體質量指數 33
2.5.7 實訓案例:絕對溫標 34
2.6 實戰:基於Python字符串操作的文本情緒分析 34
第3章 Python流程控制 36
3.1 順序結構 36
3.2 選擇結構 36
3.2.1 if語句 36
3.2.2 if...else語句 37
3.2.3 if...elif...else語句 37
3.2.4 if分支語句嵌套 38
3.2.5 實訓案例:計算器 39
3.3 循環結構 39
3.3.1 while循環 39
3.3.2 for循環語句 41
3.3.3 continue語句和break語句 43
3.3.4 循環的設計思路 45
3.3.5 典型的循環控制 47
3.3.6 實訓案例:逢7拍手遊戲 48
3.3.7 實訓案例:打印五子棋棋盤 48
3.4 實戰:設計猜數字遊戲程序 49
第4章 Python數據結構 51
4.1 列表 51
4.1.1 列表的操作 51
4.1.2 列表是可變的 54
4.1.3 實訓案例:十大歌手 56
4.2 元組 56
4.2.1 元組的創建 57
4.2.2 元組的操作 57
4.2.3 元組的遍歷 59
4.2.4 實訓案例:神奇魔方陣 60
4.3 字典 60
4.3.1 字典的操作 60
4.3.2 字典應用示例:詞頻統計 62
4.3.3 實訓案例:青春有你 64
4.4 集合 64
4.4.1 集合的基本操作 64
4.4.2 集合的關系操作 65
4.5 實戰:通訊錄 66
第5章 函數和遞歸 71
5.1 自定義函數 71
5.1.1 定義函數 71
5.1.2 調用函數 72
5.1.3 函數的參數 73
5.2 函數與變量作用域 75
5.2.1 全局變量 76
5.2.2 函數調用環境 77
5.2.3 實訓案例:角谷猜想 78
5.3 遞歸 79
5.3.1 使用遞歸實現階乘 79
5.3.2 斐波那契數列 79
5.3.3 遞歸與數學歸納法 80
5.3.4 遞歸與分治法 80
5.3.5 實訓案例:兔子數列 80
5.4 高階函數 81
5.4.1 匿名函數 81
5.4.2 函數作為參數 81
5.4.3 函數作為返回值 82
5.4.4 實訓案例:飲品自動售貨機 82
5.5 實戰:飲品自動售貨機 82
第6章 面向對象程序設計 85
6.1 類和對象 85
6.1.1 類的定義與使用 85
6.1.2 數據成員和屬性 86
6.1.3 成員方法 88
6.1.4 特殊方法 90
6.1.5 實訓案例:好友管理 91
6.2 繼承和多態 91
6.2.1 繼承 92
6.2.2 多態 93
6.2.4 實訓案例:人機猜拳遊戲 96
6.3 異常處理 96
6.3.1 異常 96
6.3.2 捕捉和處理異常 97
6.3.3 Python內置的異常類 99
6.3.4 實訓案例:商品與數量檢測 101
6.4 實戰:撲克牌遊戲 101
第7章 Python多任務編程 105
7.1 並發和並行 105
7.1.1 並發 105
7.1.2 並行 107
7.1.3 實戰:貨物運送 108
7.2 多進程編程 110
7.2.1 什麼是進程 110
7.2.2 進程的狀態 111
7.2.3 進程編程 112
7.2.4 獲取進程編號 113
7.2.5 執行帶有參數任務的進程 115
7.3 多線程編程 116
7.3.1 線程的概念 116
7.3.2 threading模塊 117
7.3.3 執行帶有參數任務的線程 120
7.3.4 臨界區、互斥鎖與死鎖 124
7.3.5 實訓案例:Pyhton多線程下載網頁圖片 127
7.4 進程和線程的對比 127
7.5 實戰:計算斐波那契數列的第n個數 128
第8章 模塊 131
8.1 創建和使用模塊 131
8.1.1 創建模塊 131
8.1.2 使用import語句導入模塊 132
8.1.3 使用from…import語句導入模塊 132
8.2 模塊搜索路徑 133
8.2.1 函數添加 133
8.2.2 修改環境變量 134
8.2.3 增加.path文件 135
8.3 包 136
8.3.1 創建和使用包 136
8.3.2 作為主程序運行 137
8.4 Python自帶的標準模塊 138
8.5 使用pip管理Python擴展模塊 139
8.6.1 實訓案例:出場人物統計 140
8.6.2 實訓案例:小猴子接香蕉 140
第9章 Python文件操作 141
9.1 文件的基本操作 141
9.1.1 創建和打開文件 141
9.1.2 文件關閉 143
9.1.3 讀文件 143
9.1.4 寫文件 144
9.2 文件系統操作 145
9.2.1 文件系統路徑 145
9.2.2 判斷路徑是否存在 146
9.2.3 創建目錄 147
9.2.4 獲取文件基本信息 148
9.2.5 目錄和文件重命名 148
9.2.6 刪除目錄和文件 149
9.2.7 路徑遍歷 150
9.2.8 實訓案例:用戶賬戶管理 150
9.2.9 實訓案例:安全策略——文件備份 151
9.3 結構化數據文件 151
9.3.1 csv模塊 151
9.3.2 json模塊 153
9.3.3 pickle模塊 155
9.4 實戰:學生信息管理系統 157
第 10章 Python與數據庫 160
10.1 MySQL數據庫簡介 160
10.1.1 MySQL的安裝 161
10.1.2 數據庫的基本操作 164
10.1.3 數據的操作 164
10.1.4 表單查詢 165
10.1.5 MySQL內置函數 167
10.1.6 實訓案例:基於mysql實現學生信息管理系統 169
10.2 PyMySQL模塊 169
10.2.1 PyMySQL安裝 169
10.2.2 數據庫連接對象 169
10.2.3 數據庫遊標對象 171
10.2.4 數據庫基本操作 171
10.3 使用ORM框架操作數據 176
10.3.1 安裝Peewee庫並初始化數據庫 176
10.3.2 創建數據庫連接 176
10.3.3 定義數據表模型類 177
10.3.4 連接數據庫並創建表 177
10.3.5 操作數據庫 178
10.4 實戰:電商網站數據分析 181
第 11章 Python網絡爬蟲 185
11.1 網絡爬蟲原理 185
11.1.1 Web通信原理 186
11.1.2 Web服務器 186
11.1.3 爬蟲基本流程 188
11.2 urllib庫的基本使用 190
11.2.1 request模塊 190
11.2.2 parse模塊 191
11.3 requests庫的基本使用 193
11.3.1 requests庫簡介 193
11.3.2 發送請求 194
11.3.3 解析響應 197
11.3.4 實訓案例:Python爬蟲獲取站長素材網站的照片數據 203
11.4 爬蟲框架簡介 203
11.4.1 Scrapy框架 204
11.4.2 pyspider框架 206
11.5 實戰:豆瓣電影網絡爬蟲 208
第 12章 Python Web框架 214
12.1 Web框架簡介 214
12.1.1 MVC模式和Web框架 214
12.1.2 Python中常用的Web框架 215
12.2 Flask框架的基本使用 216
12.2.1 Flask安裝 216
12.2.2 初始化Flask應用程序 217
12.2.3 路由與視圖 219
12.2.4 模板的基本使用 221
12.2.4 實訓案例:基於Flask的簡單的待辦事項應用 224
12.2.5 實訓案例:基於Flask的用戶登錄系統 225
12.3 Flask-RESTful的基本使用 225
12.4 實戰:構建任務管理RESTful API 227
第 13章 Python數據分析 233
13.1 配置數據分析基礎環境 233
13.2 NumPy庫的基本使用 236
13.2.1 NumPy庫簡介 236
13.2.2 N維數組——ndarray 236
13.2.3 NumPy基本運算 238
13.3 Pandas庫的基本使用 245
13.3.1 Pandas庫的數據結構 245
13.3.2 Pandas庫的索引操作 248
13.3.3 Pandas庫的對齊運算 250
13.3.4 Pandas庫的常用函數 252
13.4 實戰:MovieLens 1M數據分析 257

