基於項目驅動的Python語言程序設計
劉藝琴
相關主題
商品描述
目錄大綱
緒論 1
項目1 人口普查數據文件讀寫 5
知識準備 7
1.1 數據 7
1.1.1 數據的概念 7
1.1.2 數據的獲取途徑 8
1.2 電腦程序 9
1.2.1 電腦程序的概念 9
1.2.2 編寫程序的目的 9
1.2.3 程序處理的對象 10
1.3 Python的安裝與使用 10
1.3.1 Python的下載及安裝 10
1.3.2 Python的命令行使用方式 12
1.3.3 Python的文件操作方式 12
1.4 變量 13
1.4.1 變量的概念 13
1.4.2 變量的命名規則 14
1.5 程序結構 15
1.5.1 順序結構 15
1.5.2 分支結構 16
1.5.3 循環結構 17
1.6 函數 18
1.6.1 函數的概念 18
1.6.2 函數的類型及使用 18
1.7 庫 24
1.7.1 標準庫 24
1.7.2 第三方庫 25
1.8 註釋 26
1.8.1 單行註釋 26
1.8.2 多行註釋 27
任務實施 27
1. 人口普查數據讀取 27
2. 人口普查數據保存 29
知識拓展 30
1. os庫的文件操作 30
2. os庫的路徑操作 31
3. 相對路徑和絕對路徑 32
項目2 受高等教育人口情況統計 36
知識準備 38
2.1 環境搭建 38
2.1.1 Anaconda的安裝 38
2.1.2 Jupyter Notebook的使用 39
2.2 數據類型 42
2.2.1 基本數據類型 42
2.2.2 復合數據類型 45
2.2.3 數據類型的查看 51
2.2.4 數據類型的轉換 52
2.3 控制語句 53
2.3.1 if語句 53
2.3.2 for循環語句 55
2.3.3 while循環語句 56
2.3.4 嵌套循環 57
2.4 輸入輸出 57
2.4.1 輸入 58
2.4.2 輸出 58
任務實施 62
1. 全國大專學歷總人數及占比 62
2. 各地區大專學歷總人數及占比 63
3. 各地區大專人數占比與全國水平的比較 64
4. 各地區受高等教育人數及占比 65
知識拓展 66
1. Python運算符及其優先級 66
2. break語句與continue語句 71
3. 字典推導式與列表推導式 72
項目3 勞動力人口數據分析 77
知識準備 79
3.1 數據分析與數據可視化 79
3.2 pandas庫 79
3.2.1 pandas庫簡介 79
3.2.2 Series對象 80
3.2.3 DataFrame對象 85
3.3 matplotlib庫 89
3.3.1 matplotlib庫簡介 89
3.3.2 畫布的創建 90
3.3.3 子圖的創建 91
3.3.4 標簽信息的添加 92
3.3.5 常見圖表的繪制 94
3.3.6 顏色、線型、標記的設置 96
3.3.7 繪制圖形的保存 97
3.4 數據合並 98
3.4.1 merge()函數 98
3.4.2 join()函數 99
3.4.3 concat()函數 100
3.5 數據清洗 101
3.5.1 空值和缺失值的處理 102
3.5.2 重復值的處理 103
3.5.3 異常值的處理 103
任務實施 104
1. 全國勞動力人口數據的獲取與讀取 104
2. 全國勞動力人口數據的預處理 108
3. 2019年全國勞動力人口分佈情況分析 112
4. 2019年各省區市勞動力人口占比分析 115
5. 2009—2019年全國勞動力總人口變化情況分析 117
6. 2009—2019年top5省區市勞動力人口變化情況分析 119
知識拓展 122
1. numpy庫簡介 122
2. ndarray數組對象 122
3. ndarray數組的索引和切片 125
4. ndarray數組的運算 126
5. numpy庫中的統計函數 128
項目4 人口信息管理系統開發 133
知識準備 135
4.1 Pycharm開發工具 135
4.1.1 Pycharm簡介 135
4.1.2 Pycharm的下載 135
4.1.3 Pycharm的安裝 136
4.1.4 Pycharm的基本使用 138
4.2 函數 139
4.2.1 函數的定義 139
4.2.2 函數的調用 142
4.2.3 函數的參數 143
4.2.4 函數的返回值 144
4.3 類和對象 145
4.3.1 面向對象 145
4.3.2 類和對象的概念 146
4.3.3 類和對象的創建與使用 147
4.3.4 封裝 149
4.4 繼承 150
4.4.1 繼承的概念 150
4.4.2 繼承的使用 152
4.5 異常 154
4.5.1 異常的概念和使用 154
4.5.2 內置異常類型 156
任務實施 157
1. 界面設計 158
2. 人口數據加載 170
3. 用戶登錄 178
4. 人口信息添加 181
5. 人口信息修改 185
6. 人口信息刪除 194
7. 人口信息搜索 196
8. 項目總結 197
知識拓展 199
1. Lambda表達式 199
2. 函數的遞歸 200
3. 多態性 201
4. 靜態方法 202
5. 特殊方法 203
項目5 人口數據爬取 208
知識準備 210
5.1 HTTP的基本原理 210
5.1.1 URL 210
5.1.2 超文本 210
5.1.3 HTTP請求及響應的基本過程 211
5.2 HTML網頁基礎 213
5.2.1 HTML 213
5.2.2 HTML標簽及其基本結構 214
5.2.3 節點樹及節點間的關系 215
5.2.4 HTML標簽屬性 216
5.3 網絡爬蟲的基本原理 217
5.4 requests庫 218
5.4.1 requests庫的安裝 218
5.4.2 requests庫的基本用法 218
5.5 BeautifulSoup庫 219
5.5.1 BeautifulSoup庫的安裝 219
5.5.2 BeautifulSoup庫的基本用法 220
5.5.3 標簽屬性和值的獲取 221
5.5.4 文檔樹搜索 222
任務實施 223
1. 獲取網頁 224
2. 分析網頁 225
3. 解析網頁 225
4. 存儲數據 226
知識拓展 227
1. JavaScript渲染 227
2. JSON數據的請求 228
3. Scrapy簡介 229
附錄A 課程拓展 235
參考文獻 239