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