Python基礎(chǔ)與辦公自動(dòng)化應(yīng)用
本書(shū)是一本編程的入門(mén)書(shū)。使用 Python 語(yǔ)言通過(guò)項(xiàng)目貫穿的形式, 介紹了Python編程從基礎(chǔ)到進(jìn)階的知識(shí)。 本書(shū)是一本Python編程的入門(mén)讀物, 通過(guò)項(xiàng)目貫穿的形式, 介紹了Python編程從基礎(chǔ)到進(jìn)階的知識(shí)。共分為三個(gè)階段: 第一階段介紹了Python基礎(chǔ)中運(yùn)算符、條件語(yǔ)句、數(shù)據(jù)類型、字符串、函數(shù)、模塊等內(nèi)容; 第二階段通過(guò)真實(shí)的項(xiàng)目介紹了爬蟲(chóng)、批量文本處理、批量處理表格數(shù)據(jù)、圖像處理以及Python 自動(dòng)化辦公等內(nèi)容; 第三階段通過(guò)案例介紹了大數(shù)據(jù)和人工智能領(lǐng)域的基礎(chǔ)概念, 以及大數(shù)據(jù)和人工智能的應(yīng)用。
1.生動(dòng)、有趣:選取用生活中的小案例,引導(dǎo)讀者學(xué)習(xí)Python基礎(chǔ)知識(shí);
2.學(xué)以致用:教會(huì)讀者使用Python處理Word、PDF、Excel、圖形圖像;
3.打開(kāi)Python后續(xù)學(xué)習(xí)的大門(mén):用簡(jiǎn)單的項(xiàng)目,讓讀者了解網(wǎng)絡(luò)爬蟲(chóng)、數(shù)據(jù)分析、數(shù)據(jù)可視化、人工智能等。
高登,湖南科技職業(yè)學(xué)院人工智能學(xué)院副院長(zhǎng),副教授,軟件工程碩士。曾任計(jì)算機(jī)基礎(chǔ)教研室主任、計(jì)算機(jī)應(yīng)用技術(shù)教研室主任、大數(shù)據(jù)技術(shù)與應(yīng)用教研室主任。主要研究方向?yàn)榇髷?shù)據(jù)技術(shù)、數(shù)據(jù)挖掘和職業(yè)教育。主要承擔(dān)《分布式系統(tǒng)Hadoop》、《分布式數(shù)據(jù)庫(kù)Hbase》、《數(shù)據(jù)倉(cāng)庫(kù)Hive》等大數(shù)據(jù)技術(shù)專業(yè)課程的教學(xué)工作。曾獲全國(guó)職業(yè)院校技能競(jìng)賽“優(yōu)秀指導(dǎo)教師”、湖南省職業(yè)院校技能競(jìng)賽“金牌指導(dǎo)教師”、湖南省教育廳“優(yōu)秀共產(chǎn)黨員”、湖南省高校教工黨支部書(shū)記“雙帶頭人標(biāo)兵”等稱號(hào)。獲省級(jí)教學(xué)成果三等獎(jiǎng)1項(xiàng),出版專著1部,開(kāi)發(fā)實(shí)用新型專利1項(xiàng),主編公開(kāi)出版教材5本,主持省教育科學(xué)規(guī)劃課題1項(xiàng)、省職業(yè)教育教學(xué)改革研究項(xiàng)目1項(xiàng),在省級(jí)及以上刊物發(fā)表論文10余篇。指導(dǎo)學(xué)生獲全國(guó)職業(yè)院校技能競(jìng)賽大數(shù)據(jù)技術(shù)與應(yīng)用賽項(xiàng)一等獎(jiǎng)1項(xiàng)、三等獎(jiǎng)1項(xiàng),湖南省職業(yè)院校技能競(jìng)賽一等獎(jiǎng)1項(xiàng)、二等獎(jiǎng)2項(xiàng)、三等獎(jiǎng)2項(xiàng),一帶一路金磚國(guó)家技能競(jìng)賽中國(guó)賽區(qū)二等獎(jiǎng)1項(xiàng)、三等獎(jiǎng)1項(xiàng),全國(guó)高校綠色計(jì)算大賽華中賽區(qū)三等獎(jiǎng)1項(xiàng)、湖南省互聯(lián)網(wǎng) 大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽三等獎(jiǎng)1項(xiàng)。
基礎(chǔ)篇
項(xiàng)目一 Python入門(mén)1
項(xiàng)目場(chǎng)景2
任務(wù)1.1 搭建Python開(kāi)發(fā)環(huán)境2
1.1.1 下載Python安裝包3
1.1.2 安裝Python4
1.1.3 驗(yàn)證Python是否安裝成功5
任務(wù)1.2 在IDLE中打開(kāi)Python6
任務(wù)1.3 編寫(xiě)你的第 一行代碼7
任務(wù)1.4 了解Python的兩個(gè)特點(diǎn)8
任務(wù)1.5 編寫(xiě)真正意義上的Python
程序9
1.5.1 創(chuàng)建Python代碼文件9
1.5.2 運(yùn)行Python程序10
項(xiàng)目小結(jié)11
項(xiàng)目習(xí)題12
項(xiàng)目二 解決簡(jiǎn)單的數(shù)學(xué)問(wèn)題——
Python運(yùn)算符與表達(dá)式13
項(xiàng)目場(chǎng)景14
任務(wù)2.1 計(jì)算梯形和等腰直角三角形
面積14
2.1.1 求梯形面積15
2.1.2 使用公式計(jì)算等腰直角三角形
面積15
2.1.3 利用長(zhǎng)方形面積和梯形面積計(jì)算
等腰直角三角形面積16
2.1.4 變量17
2.1.5 代碼注釋18
課后練習(xí)20
任務(wù)2.2 編寫(xiě)人民幣與越南盾兌換程序20
2.2.1 編寫(xiě)能與用戶交互的程序21
2.2.2 根據(jù)用戶輸入的數(shù)據(jù)進(jìn)行計(jì)算22
2.2.3 運(yùn)行時(shí)錯(cuò)誤22
2.2.4 數(shù)據(jù)類型23
2.2.5 整除23
2.2.6 取余24
2.2.7 print()函數(shù)與逗號(hào)24
課后練習(xí)25
項(xiàng)目小結(jié)25
項(xiàng)目習(xí)題26
項(xiàng)目三 重復(fù)的事情交給計(jì)算機(jī)——
Python循環(huán)與判斷27
項(xiàng)目場(chǎng)景28
任務(wù)3.1 編寫(xiě)程序計(jì)算從1加到
100的值28
3.1.1 while循環(huán)29
3.1.2 求出1到100的和30
3.1.3 縮進(jìn)30
課后練習(xí)31
任務(wù)3.2 輸出直角三角形32
3.2.1 嵌套循環(huán)33
3.2.2 for循環(huán)34
3.2.3 列表35
3.2.4 range()函數(shù)35
3.2.5 使用for循環(huán)輸出直角三角形36
課后練習(xí)37
任務(wù)3.3 小明什么時(shí)候能買(mǎi)到無(wú)人機(jī)37
3.3.1 if語(yǔ)句38
3.3.2 關(guān)系運(yùn)算符與布爾類型38
3.3.3 elif語(yǔ)句判斷結(jié)果為假40
3.3.4 邏輯運(yùn)算符40
3.3.5 計(jì)算小明買(mǎi)到無(wú)人機(jī)的時(shí)間41
課后練習(xí)41
任務(wù)3.4 使用Python編寫(xiě)文字冒險(xiǎn)
游戲42
3.4.1 break關(guān)鍵字44
3.4.2 continue關(guān)鍵字44
3.4.3 無(wú)限循環(huán)45
3.4.4 完成文字冒險(xiǎn)游戲代碼編寫(xiě)45
課后練習(xí)47
項(xiàng)目小結(jié)47
項(xiàng)目習(xí)題48
項(xiàng)目四 處理身邊的數(shù)據(jù)——Python
數(shù)據(jù)類型49
項(xiàng)目場(chǎng)景50
任務(wù)4.1 統(tǒng)計(jì)成績(jī)信息50
4.1.1 創(chuàng)建列表51
4.1.2 獲取列表中的元素51
4.1.3 獲取列表中的多個(gè)元素52
4.1.4 向列表添加 刪除元素52
4.1.5 錄入學(xué)生成績(jī)53
4.1.6 計(jì)算平均分53
4.1.7 計(jì)算最高分54
4.1.8 對(duì)成績(jī)排序54
課后練習(xí)54
任務(wù)4.2 調(diào)整補(bǔ)考通過(guò)的學(xué)生成績(jī)55
4.2.1 創(chuàng)建二維列表55
4.2.2 修改二維列表的值56
4.2.3 遍歷二維列表56
4.2.4 調(diào)整補(bǔ)考通過(guò)的學(xué)生成績(jī)57
課后練習(xí)58
任務(wù)4.3 學(xué)生成績(jī)排序58
4.3.1 創(chuàng)建字典58
4.3.2 添加數(shù)據(jù)59
4.3.3 刪除數(shù)據(jù)59
4.3.4 字典排序59
4.3.5 出現(xiàn)了圓括號(hào)——元組60
4.3.6 掌握3個(gè)函數(shù)60
4.3.7 完成成績(jī)排序61
課后練習(xí)62
任務(wù)4.4 歌詞詞頻統(tǒng)計(jì)62
4.4.1 字符串63
4.4.2 字符串常用操作63
4.4.3 字典與字符串65
4.4.4 編寫(xiě)詞頻統(tǒng)計(jì)程序65
課后練習(xí)66
項(xiàng)目小結(jié)66
項(xiàng)目習(xí)題67
項(xiàng)目五 代碼復(fù)用讓代碼更精簡(jiǎn)——
Python函數(shù)與模塊69
項(xiàng)目場(chǎng)景70
任務(wù)5.1 “雙11”券后價(jià)格計(jì)算程序70
5.1.1 定義函數(shù)71
5.1.2 調(diào)用函數(shù)71
5.1.3 編寫(xiě)“雙11”券后價(jià)格計(jì)算
程序72
課后練習(xí)72
任務(wù)5.2 找出成績(jī)最好的學(xué)生72
5.2.1 通過(guò)增加參數(shù)來(lái)減少重復(fù)勞動(dòng)73
5.2.2 有返回值的函數(shù)——利用return
關(guān)鍵字74
5.2.3 使用return返回多個(gè)值75
5.2.4 代碼復(fù)用75
課后練習(xí)76
任務(wù)5.3 解決今天吃什么的問(wèn)題76
5.3.1 random模塊77
5.3.2 編寫(xiě)“今天吃啥”程序77
5.3.3 模塊的使用方法77
5.3.4 再談代碼復(fù)用78
課后練習(xí)78
項(xiàng)目小結(jié)78
項(xiàng)目習(xí)題79
辦公自動(dòng)化應(yīng)用篇
項(xiàng)目六 重要信息的提取——Python
正則表達(dá)式與爬蟲(chóng)80
項(xiàng)目場(chǎng)景81
任務(wù)6.1 使用正則表達(dá)式提取手機(jī)號(hào)81
6.1.1 search()函數(shù)82
6.1.2 獲取多個(gè)匹配的數(shù)據(jù)82
6.1.3 字符組82
6.1.4 區(qū)間83
6.1.5 取反84
6.1.6 快捷方式84
6.1.7 任意字符85
6.1.8 可選字符85
6.1.9 重復(fù)85
6.1.10 重復(fù)區(qū)間85
6.1.11 開(kāi)閉區(qū)間86
6.1.12 速寫(xiě)86
6.1.13 提取手機(jī)號(hào)86
課后練習(xí)87
任務(wù)6.2 從文本數(shù)據(jù)中提取年月日
數(shù)據(jù)87
6.2.1 分組87
6.2.2 或者條件88
6.2.3 分組的回溯引用88
6.2.4 提取年月日數(shù)據(jù)89
課后練習(xí)89
任務(wù)6.3 使用爬蟲(chóng)獲取豆瓣電影標(biāo)題89
6.3.1 理解網(wǎng)頁(yè)結(jié)構(gòu)89
6.3.2 查看網(wǎng)頁(yè)源代碼89
6.3.3 獲取網(wǎng)頁(yè)數(shù)據(jù)90
6.3.4 提取關(guān)鍵數(shù)據(jù)92
課后練習(xí)92
任務(wù)6.4 使用爬蟲(chóng)批量獲取微博熱搜
數(shù)據(jù)93
6.4.1 查看網(wǎng)頁(yè)的結(jié)構(gòu)93
6.4.2 提取網(wǎng)頁(yè)的關(guān)鍵信息94
6.4.3 批量獲取網(wǎng)頁(yè)數(shù)據(jù)95
6.4.4 數(shù)據(jù)加工95
6.4.5 數(shù)據(jù)持久化95
課后練習(xí)96
項(xiàng)目小結(jié)96
項(xiàng)目習(xí)題97
項(xiàng)目七 讓煩瑣的工作自動(dòng)化——使用
Python處理Excel文件98
項(xiàng)目場(chǎng)景99
任務(wù)7.1 安裝openpyxl99
任務(wù)7.2 自動(dòng)修改空調(diào)售價(jià)100
7.2.1 打開(kāi)Excel文件100
7.2.2 獲取單元格中的數(shù)據(jù)101
7.2.3 修改單元格中的數(shù)據(jù)101
7.2.4 保存修改結(jié)果101
7.2.5 修改格力空調(diào)的價(jià)格101
課后練習(xí)102
任務(wù)7.3 自動(dòng)統(tǒng)計(jì)老師的監(jiān)考勞務(wù)費(fèi)102
7.3.1 獲取所有工作表的名字103
7.3.2 統(tǒng)計(jì)老師監(jiān)考次數(shù)103
7.3.3 創(chuàng)建新的工作表104
課后練習(xí)105
任務(wù)7.4 多表合一105
7.4.1 創(chuàng)建新的Excel文件106
7.4.2 遍歷文件夾下所有的文件名107
7.4.3 合并數(shù)據(jù)107
課后練習(xí)108
項(xiàng)目小結(jié)108
項(xiàng)目習(xí)題108
項(xiàng)目八 文件的批量處理——使用
Python處理Word與
PDF文件109
項(xiàng)目場(chǎng)景110
任務(wù)8.1 批量制作并發(fā)送年會(huì)邀請(qǐng)函110
8.1.1 創(chuàng)建Word文件111
8.1.2 讀取客戶數(shù)據(jù),寫(xiě)入Word
文件114
8.1.3 使用Python發(fā)送郵件116
課后練習(xí)124
任務(wù)8.2 將Word文件批量轉(zhuǎn)換為
加密PDF文件124
8.2.1 將Word文件轉(zhuǎn)換為PDF
文件125
8.2.2 批量轉(zhuǎn)換Word文件126
8.2.3 PDF文件加密127
課后練習(xí)129
任務(wù)8.3 批量提取PDF文件中的文本
數(shù)據(jù)129
8.3.1 從PDF文件中提取文本數(shù)據(jù)129
8.3.2 批量讀取PDF文件中的文本130
課后練習(xí)131
項(xiàng)目小結(jié)131
項(xiàng)目習(xí)題132
項(xiàng)目九 圖像處理——使用Python
處理圖像133
項(xiàng)目場(chǎng)景134
任務(wù)9.1 做好準(zhǔn)備工作134
9.1.1 基礎(chǔ)知識(shí)134
9.1.2 安裝OpenCV136
課后練習(xí)136
任務(wù)9.2 批量修改圖像的飽和度136
9.2.1 讀取照片137
9.2.2 轉(zhuǎn)換顏色空間137
9.2.3 提高照片的飽和度138
9.2.4 保存修改后的照片138
9.2.5 批量提高照片飽和度139
課后練習(xí)140
任務(wù)9.3 批量加水印140
9.3.1 準(zhǔn)備水印圖像140
9.3.2 添加水印141
9.3.3 批量添加水印143
課后練習(xí)143
任務(wù)9.4 批量生成學(xué)生證144
9.4.1 讀取Excel文件中的圖像145
9.4.2 生成學(xué)生證146
9.4.3 批量生成學(xué)生證148
課后練習(xí)149
項(xiàng)目小結(jié)149
項(xiàng)目習(xí)題150
拓展學(xué)習(xí)篇
項(xiàng)目十 敲開(kāi)大數(shù)據(jù)之門(mén)——數(shù)據(jù)
處理與數(shù)據(jù)可視化151
項(xiàng)目場(chǎng)景152
任務(wù)10.1 數(shù)據(jù)清洗與處理152
10.1.1 數(shù)據(jù)清洗153
10.1.2 工資數(shù)據(jù)處理155
課后練習(xí)158
任務(wù)10.2 招聘數(shù)據(jù)可視化158
10.2.1 使用Pyecharts展示工資
數(shù)據(jù)158
10.2.2 可視化展示公司類型和數(shù)量159
課后練習(xí)161
項(xiàng)目小結(jié)161
項(xiàng)目習(xí)題161
項(xiàng)目十一 敲開(kāi)人工智能之門(mén)——使用
機(jī)器學(xué)習(xí)算法對(duì)電影分類162
項(xiàng)目場(chǎng)景163
任務(wù)11.1 電影分類163
11.1.1 通過(guò)對(duì)電影分類了解機(jī)器
學(xué)習(xí)164
11.1.2 使用K近鄰算法判斷電影
類型165
11.1.3 計(jì)算兩部電影之間的相似度165
11.1.4 K近鄰算法實(shí)現(xiàn)過(guò)程166
11.1.5 使用K近鄰算法實(shí)現(xiàn)電影
分類168
課后練習(xí)169
任務(wù)11.2 使用機(jī)器學(xué)習(xí)庫(kù)scikit-
learn對(duì)電影分類169
11.2.1 scikit-learn的安裝與使用170
11.2.2 使用scikit-learn對(duì)電影
分類170
課后練習(xí)171
任務(wù)11.3 機(jī)器學(xué)習(xí)中的重要概念171
11.3.1 機(jī)器學(xué)習(xí)可以解決的三大
問(wèn)題171
11.3.2 常用的機(jī)器學(xué)習(xí)算法172
11.3.3 機(jī)器如何學(xué)習(xí)173
課后練習(xí)174
項(xiàng)目小結(jié)174
項(xiàng)目習(xí)題175