本書共包含7個部分,即緒論、5個項目、課程拓展。緒論部分介紹了課程的定位及課程的素質目標、能力目標、知識目標等;5 個項目分別涵蓋了 Python 在文件操作、數(shù)據(jù)分析、數(shù)據(jù)可視化、管理信息系統(tǒng)及網(wǎng)絡爬蟲等方面的相關知識點、綜合項目案例及技能訓練;課程拓展部分主要介紹與本課程緊密相關的崗位、競賽、證書及相關的知識和技能需求。
本書既可作為高等職業(yè)教育人工智能應用技術、軟件技術、計算機應用技術等專業(yè)的教材使用,也可供Python語言編程愛好者參考使用。
1. 職業(yè)標準與教學標準深度融合,為學生未來的職業(yè)發(fā)展打下堅實的基礎。
2. 實踐與理論的緊密結合,確保教學內容與行業(yè)需求高度一致。
黨的二十大報告強調,推動戰(zhàn)略性新興產(chǎn)業(yè)融合集群發(fā)展,構建新一代信息技術、人工智能等一批新的增長引擎。新一代信息技術的高速發(fā)展,不僅為我國加快推進智造強國、網(wǎng)絡強國和數(shù)字中國建設提供了堅實有力的支撐,而且將促進百行千業(yè)升級蝶變,成為推動我國經(jīng)濟高質量發(fā)展的新動能。Python 作為人工智能、信息技術領域應用最廣泛的編程語言之一,在各行各業(yè)中扮演著至關重要的角色。通過系統(tǒng)地學習 Python,學生能夠通過編程解決實際問題,優(yōu)化用戶體驗,并利用數(shù)據(jù)分析支持決策,與全球數(shù)字化發(fā)展趨勢保持同步。這就要求學生不僅要精通編程技能,還需在實際應用中不斷地適應和創(chuàng)新,開拓新的應用領域和解決方案。
本書基于崗課賽證融通的一體化開發(fā),為相關課程和對應職業(yè)技能等級證書的學習和考核提供系統(tǒng)性的內容支撐。本書采用項目導向、任務驅動的組織模式,通過構建真實的編程任務場景來解析軟件開發(fā)中所需的理論知識和技能要點。
在本書的創(chuàng)作過程中,編寫團隊進行了深入的市場調研,分析了眾多領先技術企業(yè)對Python程序設計崗位的專業(yè)技能需求。同時,編寫團隊廣泛搜集并研究了大量國內外關于計算機科學和軟件開發(fā)的文獻資料,以確保教材內容既具有理論深度,又符合實際應用需求,從而形成了以下幾個鮮明的特色。
1. 職業(yè)標準與教學標準深度融合
本書融合了先進的教學方法和課程要求,全面覆蓋了從Python基礎知識到實際應用的各個環(huán)節(jié)。通過這種全面而深入的教學方式,學生在課程結束時將能夠熟練掌握關鍵的工作技能,從而在職場競爭中占據(jù)優(yōu)勢,并為未來的職業(yè)發(fā)展打下堅實的基礎。
2. 實踐與理論的緊密結合
本書通過校企合作模式,實現(xiàn)了理論與實踐的緊密結合,確保教學內容與行
業(yè)需求高度一致。每個教學單元都圍繞實際案例展開,包括理論講解、任務實施和技能訓練,為學生提供真實的行業(yè)實戰(zhàn)經(jīng)驗。
同時,本書開發(fā)有配套的在線開放課程、教學課件、微課、習題答案等類型豐富的數(shù)字化教學資源,實現(xiàn)了教學內容的電子化、知識展示的多維化、信息流通的網(wǎng)聯(lián)化、信息管理的自動化、學習互動的增強化,可進一步提升學生自主學習的效率。
本書由劉藝琴擔任主編,由劉藝琴、馬千知、余燦玲、周勤生、劉春華共同編寫。其中,劉藝琴負責全書統(tǒng)稿并編寫前言、緒論、項目1和附錄A;余燦玲負責編寫項目2;馬千知負責編寫項目3;周勤生負責編寫項目4;劉春華負責編寫項目5。在編寫過程中,編者參考了大量相關書籍及最新研究資料,且大部分均已在書后參考文獻中列出,在此一并表示衷心感謝!
由于作者水平有限,書中不足之處在所難免,敬請廣大讀者及同行專家批評指正。
編 者
2025年1月
緒論 1
項目1 人口普查數(shù)據(jù)文件讀寫 5
知識準備 7
1.1 數(shù)據(jù) 7
1.1.1 數(shù)據(jù)的概念 7
1.1.2 數(shù)據(jù)的獲取途徑 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 變量的命名規(guī)則 14
1.5 程序結構 15
1.5.1 順序結構 15
1.5.2 分支結構 16
1.5.3 循環(huán)結構 17
1.6 函數(shù) 18
1.6.1 函數(shù)的概念 18
1.6.2 函數(shù)的類型及使用 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. 人口普查數(shù)據(jù)讀取 27
2. 人口普查數(shù)據(jù)保存 29
知識拓展 30
1. os庫的文件操作 30
2. os庫的路徑操作 31
3. 相對路徑和絕對路徑 32
項目2 受高等教育人口情況統(tǒng)計 36
知識準備 38
2.1 環(huán)境搭建 38
2.1.1 Anaconda的安裝 38
2.1.2 Jupyter Notebook的使用 39
2.2 數(shù)據(jù)類型 42
2.2.1 基本數(shù)據(jù)類型 42
2.2.2 復合數(shù)據(jù)類型 45
2.2.3 數(shù)據(jù)類型的查看 51
2.2.4 數(shù)據(jù)類型的轉換 52
2.3 控制語句 53
2.3.1 if語句 53
2.3.2 for循環(huán)語句 55
2.3.3 while循環(huán)語句 56
2.3.4 嵌套循環(huán) 57
2.4 輸入輸出 57
2.4.1 輸入 58
2.4.2 輸出 58
任務實施 62
1. 全國大專學歷總人數(shù)及占比 62
2. 各地區(qū)大專學歷總人數(shù)及占比 63
3. 各地區(qū)大專人數(shù)占比與全國水平的比較 64
4. 各地區(qū)受高等教育人數(shù)及占比 65
知識拓展 66
1. Python運算符及其優(yōu)先級 66
2. break語句與continue語句 71
3. 字典推導式與列表推導式 72
項目3 勞動力人口數(shù)據(jù)分析 77
知識準備 79
3.1 數(shù)據(jù)分析與數(shù)據(jù)可視化 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 畫布的創(chuàng)建 90
3.3.3 子圖的創(chuàng)建 91
3.3.4 標簽信息的添加 92
3.3.5 常見圖表的繪制 94
3.3.6 顏色、線型、標記的設置 96
3.3.7 繪制圖形的保存 97
3.4 數(shù)據(jù)合并 98
3.4.1 merge()函數(shù) 98
3.4.2 join()函數(shù) 99
3.4.3 concat()函數(shù) 100
3.5 數(shù)據(jù)清洗 101
3.5.1 空值和缺失值的處理 102
3.5.2 重復值的處理 103
3.5.3 異常值的處理 103
任務實施 104
1. 全國勞動力人口數(shù)據(jù)的獲取與讀取 104
2. 全國勞動力人口數(shù)據(jù)的預處理 108
3. 2019年全國勞動力人口分布情況分析 112
4. 2019年各省區(qū)市勞動力人口占比分析 115
5. 20092019年全國勞動力總人口變化情況分析 117
6. 20092019年top5省區(qū)市勞動力人口變化情況分析 119
知識拓展 122
1. numpy庫簡介 122
2. ndarray數(shù)組對象 122
3. ndarray數(shù)組的索引和切片 125
4. ndarray數(shù)組的運算 126
5. numpy庫中的統(tǒng)計函數(shù) 128
項目4 人口信息管理系統(tǒng)開發(fā) 133
知識準備 135
4.1 Pycharm開發(fā)工具 135
4.1.1 Pycharm簡介 135
4.1.2 Pycharm的下載 135
4.1.3 Pycharm的安裝 136
4.1.4 Pycharm的基本使用 138
4.2 函數(shù) 139
4.2.1 函數(shù)的定義 139
4.2.2 函數(shù)的調用 142
4.2.3 函數(shù)的參數(shù) 143
4.2.4 函數(shù)的返回值 144
4.3 類和對象 145
4.3.1 面向對象 145
4.3.2 類和對象的概念 146
4.3.3 類和對象的創(chuàng)建與使用 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. 人口數(shù)據(jù)加載 170
3. 用戶登錄 178
4. 人口信息添加 181
5. 人口信息修改 185
6. 人口信息刪除 194
7. 人口信息搜索 196
8. 項目總結 197
知識拓展 199
1. Lambda表達式 199
2. 函數(shù)的遞歸 200
3. 多態(tài)性 201
4. 靜態(tài)方法 202
5. 特殊方法 203
項目5 人口數(shù)據(jù)爬取 208
知識準備 210
5.1 HTTP的基本原理 210
5.1.1 URL 210
5.1.2 超文本 210
5.1.3 HTTP請求及響應的基本過程 211
5.2 HTML網(wǎng)頁基礎 213
5.2.1 HTML 213
5.2.2 HTML標簽及其基本結構 214
5.2.3 節(jié)點樹及節(jié)點間的關系 215
5.2.4 HTML標簽屬性 216
5.3 網(wǎng)絡爬蟲的基本原理 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. 獲取網(wǎng)頁 224
2. 分析網(wǎng)頁 225
3. 解析網(wǎng)頁 225
4. 存儲數(shù)據(jù) 226
知識拓展 227
1. JavaScript渲染 227
2. JSON數(shù)據(jù)的請求 228
3. Scrapy簡介 229
附錄A 課程拓展 235
參考文獻 239