第1章 Python程序設計概述 1
1.1 程序設計語言 2
1.1.1 程序設計語言概述 2
1.1.2 編譯型語言與解釋型語言 4
1.2 Python概述 4
1.2.1 Python的概念 4
1.2.2 學習Python的意義 6
1.2.3 Python的發展 7
1.3 Python開發環境的搭建 8
1.3.1 Windows平臺下Python開發環境的搭建 8
1.3.2 Linux平臺下Python開發環境的搭建 10
1.3.3 使用IDLE來幫助學習Python 12
1.3.4 Python常用的開發工具 16
1.3.5 “Hello World!”——個Python程序 17
1.4 本章小結 18
習題 18
第2章 Python語言基礎 21
2.1 基礎Python語法 22
2.1.1 標識符 22
2.1.2 Python的語法和句法 23
2.2 數值 25
2.2.1 數據類型 25
2.2.2 變量與常量 30
2.2.3 運算符與優先級 31
2.3 字符串 34
2.4 列表與序列 43
2.5 &nb組 47
2.6 字典 50
2.7 集合 53
2.8 基本輸入與輸出 58
2.8.1 輸出到屏幕 58
2.8.2 鍵盤輸入 59
2.9 正則表達式 60
2.9.1  素 60
2.9.2 正則表達式的操作舉例 62
2.9.3 正則表達式測試工具 64
2.9.4 正則表達式的在線測試 67
2.10 本章小結 68
習題 68
第3章 Python流程控制 71
3.1 順序結構程序設計 72
3.1.1 算法 72
3.1.2 順序結構程序設計舉例 73
3.2 選擇結構程序設計 74
3.2.1 單分支選擇結構 74
3.2.2 雙分支選擇結構 76
3.2.3 多分支選擇結構 76
3.2.4 &nbs運算符 77
3.2.5 比較運算符 77
3.2.6 邏輯運算符 79
3.2.7 選擇結構的嵌套 80
3.3 循環結構程序設計 81
3.3.1 for循環 81
3.3.2 while循環 85
3.3.3 break和continue語句在循環中的使用 86
3.3.4 循環中使用else分支 88
3.3.5 循環的嵌套 89
3.3.6 pass在循環中的使用 91
3.4 range()函數 91
3.5 案例實訓 95
3.5.1 案例實訓1:輸出所有和為某個正整數的連續正數序列 95
3.5.2 案例實訓2:歌詠比賽評分程序 96
3.6 本章小結 98
習題 98
第4章 函數與模塊 101
4.1 Python代碼編寫規範 102
4.1.1 Python代碼風格 103
4.1.2 典型案例 104
4.2 函數 106
4.2.1 函數定義 106
4.2.2 函數調用 107
4.2.3 按引用傳遞參數 108
4.2.4 參數類型 108
4.2.5 return語句 110
4.2.6 變量的作用域與命名空間 111
4.2.7 函數與遞歸 112
4.2.8 迭代器與生成器 116
4.2.9 自定義模塊 118
4.3 標準模塊 120
4.3.1 內建函數 120
4.3.2 格式化輸出 120
4.3.3 內建模塊 123
4.4 匿名函數 126
4.5 Python工具箱 127
4.6 案例實訓:“哥德巴赫猜想”的驗證 129
4.7 本章小結 130
習題 131
第5章 文件與目錄操作 135
5.1 文件的基本操作 136
5.1.1 打開文件 136
5.1.2 關閉文件 138
5.1.3 在文本文件中讀取數據 138
5.1.4 創建文本文件 139
5.1.5 向文本文件中添加數據 139
5.1.6 文件指針 139
5.1.7 截斷文件 140
5.1.8 復制、刪除、移動、更名文件 140
5.2 指定目錄下的文件操作 142
5.2.1 獲取當前目錄 142
5.2.2 獲取當前目錄下的內容 142
5.2.3 創建、刪除目錄 143
5.3 CSV文件 143
5.3.1 讀CSV文件 144
5.3.2 寫CSV文件 144
5.4 Excel文件 145
5.4.1 使用xlrd讀Excel文件 145
5.4.2 使用xlwt寫Excel文件 146
5.4.3 使用xlutils修改Excel文件 148
5.5 HTML文件 149
5.5.1 Beautiful Soup安裝 149
5.5.2 創建Beautiful Soup對像 150
5.5.3 解析HTML文件 151
5.6 XML文件 153
5.6.1 解析XML文件 153
5.6.2 創建XML文件 155
5.7 案例實訓:廣告極限詞過濾 156
5.8 本章小結 158
習題 158
第6章 面向對像編程 161
6.1 類的定義與使用 163
6.1.1 類的定義——封裝 164
6.1.2 類屬性與方法 165
6.1.3 再談Python的作用域和命名空間 169
6.2 Python類與對像 171
6.2.1 類對像 171
6.2.2 類屬性 172
6.2.3 實例屬性 174
6.2.4 幾點說明 175
6.3 繼承 176
6.3.1 單繼承 176
6.3.2 多繼承 177
6.3.3 方法重寫與運算符重載 179
6.3.4 isinstance函數 181
6.3.5 super()函數 182
6.4 多態 183
6.5 案例實訓:棧與隊列 185
6.6 本章小結 188
習題 189
第7章 異常處理與pdb模塊調試 191
7.1 編程常見錯誤 192
7.1.1 語法錯誤 192
7.1.2 邏輯錯誤 193
7.1.3 異常 193
7.2 異常處理 193
7.2.1 try、except、else、finally語句 195
7.2.2 主動觸發異常和自定義異常 197
7.2.3 使用sys模塊返回異常 198
7.3 使用pdb模塊調試程序 199
7.3.1 常用的pdb函數 199
7.3.2 pdb調試命令 201
7.4 案例實訓:文件操作中的異常事件處理 203
7.5 本章小結 205
習題 205
第8章 數據庫編程 207
8.1 數據庫技術基礎 208
8.1.1 數據庫的基本概念 208
8.1.2 數據庫的類型 209
8.2 SQLite數據庫 210
8.2.1 SQLite數據庫的下載和安裝 210
8.2.2 SQLite數據類型 211
8.2.3 創建SQLite數據庫 212
8.2.4 SQLite的基本操作 212
8.2.5 使用Python操作SQLite數據庫 215
8.3 MySQL數據庫 218
8.3.1 MySQL數據庫的下載和安裝 218
8.3.2 MySQL數據類型 221
8.3.3 MySQL的基本操作 222
8.3.4 使用Python操作MySQL數據庫 230
8.4 案例實訓:管理信息繫統的數據操作 231
8.5 本章小結 234
習題 234
第9章 數據分析與可視化 237
9.1 數據挖掘簡介 238
9.2 選擇Python進行數據挖掘的意義 239
9.3 Python的主要數據分析工具 239
9.3.1 NumPy庫 239
9.3.2 SciPy庫 242
9.3.3 Matplotlib庫 245
9.3.4 pandas庫 247
9.4 案例實訓 252
9.4.1 案例實訓1:利用Python分析數據的基本情況——缺失值分析與數據離散度分析 252
9.4.2 案例實訓2:使用箱形圖檢測異常值——離群點挖掘 253
9.4.3 案例實訓3:基於詞雲的關鍵詞統計 255
9.5 本章小結 257
習題 257
第10章 GUI編程和用戶界面 259
10.1 Tkinter模塊 260
10.1.1 創建Windows窗體 261
10.1.2 標簽組件Label 262
10.1.3 按鈕組件Button 265
10.1.4 消息框組件Messagebox 268
10.1.5 隻讀文本框Entry 270
10.1.6 單選框組件Radiobutton 271
10.1.7 復選框組件Checkbutton 272
10.1.8 文本框組件Text 274
10.1.9 列表框組件Listbox 275
10.1.10 菜單組件Menu 277
10.1.11 滑動條組件Scale 278
10.2 網格布局管理器 280
10.2.1 網格 280
10.2.2 sticky屬性 282
10.2.3 向列表框添加垂直滾動條 283
10.2.4 設計窗體布局 284
10.3 GUI編程 284
10.3.1 將TUI程序轉換成GUI程序 284
10.3.2 面向對像編程 286
10.4 案例實訓:設計一個查看文件目錄的程序 287
10.5 本章小結 290
習題 291
第11章 Web開發 293
11.1 將程序放在Web上運行 294
11.1.1 Web應用的工作方式 294
11.1.2 為Web應用創建一個UI 295
11.2 使用MVC設計Web應用 297
11.3 使用CGI將程序運行在服務器上 298
11.4 案例實訓:從Web頁面獲取表格內容並顯示 303
11.5 本章小結 304
習題 305
第12章 網絡爬蟲 307
12.1 爬蟲的基本原理及過程 308
12.1.1 網絡爬蟲概述 308
12.1.2 爬蟲的工作流程 308
12.2 Requests模塊編碼流程 309
12.2.1 Requests概述 309
12.2.2 Requests用法 310
12.2.3 使用Requests訪問編程的例子 312
12.3 網頁數據解析工具XPath 312
12.3.1 XPath概述 312
12.3.2 XPath的用法 312
12.4 應用Scrapy實現工程化爬蟲 315
12.4.1 Scrapy框架介紹 315
12.4.2 Scrapy編碼流程 317
12.5 案例實訓 319
12.5.1 案例實訓1:抓取網易新聞數據 319
12.5.2 案例實訓2:抓取AcFun視頻 323
12.6 本章小結 324
習題 325
附錄A Python關鍵字 326
附錄B 其他常用功能 329
參考文獻 330