定 價:49 元
叢書名:全國高等職業(yè)教育“十三五”規(guī)劃教材
- 作者:董付國
- 出版時間:2019/8/1
- ISBN:9787111631989
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書系統(tǒng)介紹Python基礎(chǔ)知識以及數(shù)據(jù)采集、分析、可視化的流程與應(yīng)用,實例豐富,實戰(zhàn)性強(qiáng)。全書共14個項目,其中前10個項目以Python基礎(chǔ)知識的理解和應(yīng)用為主,項目11至14分別講解網(wǎng)絡(luò)爬蟲以及numpy、pandas和matplotlib的應(yīng)用。書中全部代碼適用于Python 3.5、Python 3.6、Python 3.7以及更高版本。
本書可以作為本科、?啤⒏呗氃盒7怯嬎銠C(jī)專業(yè)程序設(shè)計課程用教材,也可作為計算機(jī)專業(yè)程序設(shè)計基礎(chǔ)課程用教材,還可作為Python愛好者的自學(xué)用書。
本書配有教學(xué)資源(包括PPT、源代碼、大綱、習(xí)題答案),需要的教師可登錄www.cmpedu.com免費注冊,審核通過后下載,或聯(lián)系編輯索。≦Q:1239258369,電話:010-88379739)。
本書共14個項目,主要包括Python編程基礎(chǔ)、網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析和數(shù)據(jù)可視化四大部分內(nèi)容。
全部代碼適用于Python 3.5、Python 3.6、Python 3.7以及更高版本。
免費提供教學(xué)PPT、源代碼、教學(xué)大綱、習(xí)題答案等全套教學(xué)資源。
Python語言由Guido van Rossum于1991年推出了第一個公開發(fā)行版本,之后迅速得到了各行業(yè)人士的青睞。經(jīng)過20多年的發(fā)展,Python語言已經(jīng)滲透到統(tǒng)計分析、移動終端開發(fā)、科學(xué)計算可視化、系統(tǒng)安全、逆向工程、軟件測試與軟件分析、圖形圖像處理、人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等幾乎所有專業(yè)和領(lǐng)域,在黑客領(lǐng)域更是多年來一直擁有霸主地位。與此同時,Python語言在各大編程語言排行榜上的位次也是逐年上升的,被TIOBE網(wǎng)站評為2010年年度語言;在IEEE Spectrum 2017 編程語言排行榜上名列榜首。
Python是一門免費、開源、跨平臺的高級動態(tài)編程語言,支持命令式編程、函數(shù)式編程,完全支持面向?qū)ο蟪绦蛟O(shè)計,擁有大量功能強(qiáng)大的內(nèi)置對象、標(biāo)準(zhǔn)庫,以及涉及各行業(yè)領(lǐng)域的擴(kuò)展庫,使得各領(lǐng)域的工程師、科研人員、策劃人員和管理人員能夠快速實現(xiàn)和驗證自己的思路、創(chuàng)意或者推測,還有更多人喜歡用Python寫個小腳本來完成自己工作中的一些小任務(wù)。在有些編程語言中需要編寫大量代碼才能實現(xiàn)的功能,在Python中只需要幾行代碼,大幅度減少了代碼量,更加容易維護(hù)。Python用戶只需要把主要精力放在業(yè)務(wù)邏輯的設(shè)計與實現(xiàn)上,在開發(fā)速度和運行效率之間達(dá)到了完美的平衡,其精妙之處令人擊節(jié)贊嘆。
一個好的Python程序不僅是正確的,更是簡潔、直觀、漂亮、優(yōu)雅、方便人們閱讀的,整個代碼處處體現(xiàn)著美,讓人賞心悅目。Python代碼對布局要求非常嚴(yán)格,尤其是使用縮進(jìn)來體現(xiàn)代碼的邏輯關(guān)系,這一點硬性要求非常有利于學(xué)習(xí)者和程序員養(yǎng)成一個良好、嚴(yán)謹(jǐn)?shù)牧?xí)慣。除了能夠快速解決問題之外,代碼布局要求嚴(yán)格也是Python被廣泛選作教學(xué)語言的重要原因。
早在多年前Python就已經(jīng)成為卡耐基梅隆大學(xué)、麻省理工學(xué)院、加州大學(xué)伯克利分校、哈佛大學(xué)、多倫多大學(xué)等國外很多大學(xué)計算機(jī)專業(yè)或非計算機(jī)專業(yè)的程序設(shè)計入門教學(xué)語言。近幾年來國內(nèi)有幾百所高等院校的多個專業(yè)陸續(xù)開設(shè)了Python程序設(shè)計有關(guān)課程,并且這個數(shù)量還在持續(xù)快速增加。目前來看,選擇使用Python作為程序設(shè)計入門教學(xué)語言或者作為各專業(yè)擴(kuò)展課程,無疑是一個非常明智的選擇。
內(nèi)容組織與閱讀建議
本書共14個項目和若干子任務(wù),主要包括Python編程基礎(chǔ)、網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析和數(shù)據(jù)可視化這四大部分內(nèi)容,全部代碼適用于Python 3.5、Python 3.6、Python 3.7以及更高版本。
項目1 認(rèn)識Python。簡單介紹Python語言與版本、安裝與配置Python開發(fā)環(huán)境、Python編碼規(guī)范、擴(kuò)展庫安裝方法以及標(biāo)準(zhǔn)庫對象與擴(kuò)展庫對象的導(dǎo)入。
項目2 使用內(nèi)置對象和運算符。講解Python常用內(nèi)置對象、運算符與表達(dá)式、常用內(nèi)置函數(shù)、Python關(guān)鍵字。
項目3 使用Python序列結(jié)構(gòu)。講解序列、列表、元組與生成器表達(dá)式、字典、集合、序列解包。
項目4 使用程序控制結(jié)構(gòu)。講解條件表達(dá)式的常見形式,單分支、雙分支、多分支選擇結(jié)構(gòu)以及嵌套的選擇結(jié)構(gòu);循環(huán)結(jié)構(gòu),包括for循環(huán)與while循環(huán),break與continue語句;以及異常處理結(jié)構(gòu)。
項目5 設(shè)計和使用自定義函數(shù)。講解函數(shù)定義與調(diào)用語法、不同類型的函數(shù)參數(shù)、參數(shù)傳遞的序列解包、變量作用域、lambda表達(dá)式、生成器函數(shù)。
項目6 面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)。講解類的定義與使用、數(shù)據(jù)成員與成員方法、屬性和繼承、特殊方法。
項目7 使用字符串。講解字符串編碼格式、轉(zhuǎn)義字符與原始字符串、字符串格式化的不同形式、字符串常用方法、字符串常量、中英文分詞、漢字到拼音的轉(zhuǎn)換。
項目8 使用正則表達(dá)式。講解正則表達(dá)式語法、正則表達(dá)式模塊re的用法。
項目9 讀寫文件內(nèi)容。講解文件操作基本知識、文本文件內(nèi)容操作以及Excel與Word等常見類型文件的操作。
項目10 文件與文件夾操作。講解os、os.path與shutil這3個模塊的用法,以及遞歸遍歷文件夾和按廣度優(yōu)先遍歷文件夾的原理。
項目11 網(wǎng)絡(luò)爬蟲入門與應(yīng)用。講解HTML、JavaScript基礎(chǔ)以及urllib、scrapy、BeautifulSoup、requests、selenium在網(wǎng)絡(luò)爬蟲程序中的應(yīng)用。
項目12 使用numpy實現(xiàn)數(shù)組與矩陣運算。講解numpy的數(shù)組和矩陣運算。
項目13 使用pandas分析與處理數(shù)據(jù)。講解pandas常用操作、pandas結(jié)合matplotlib進(jìn)行數(shù)據(jù)可視化、pandas的應(yīng)用。
項目14 使用matplotlib進(jìn)行數(shù)據(jù)可視化。介紹使用Python擴(kuò)展庫matplotlib進(jìn)行數(shù)據(jù)可視化相關(guān)的技術(shù),包括折線圖、散點圖、餅狀圖、柱狀圖、三維圖的繪制,以及切分繪圖區(qū)域、設(shè)置坐標(biāo)軸和圖例等內(nèi)容。
本書適用讀者
本書可以作為(但不限于):本科、專科、高職院校非計算機(jī)專業(yè)程序設(shè)計課程用教材,計算機(jī)專業(yè)程序設(shè)計基礎(chǔ)課程教材, Python愛好者自學(xué)用書。
配套資源
本書提供教學(xué)PPT、源代碼、大綱、習(xí)題答案等全套教學(xué)資源,可通過微信公眾號“Python小屋”獲取,或發(fā)送郵件至dongfuguo2005@126.com與作者聯(lián)系獲取;也可通過機(jī)械工業(yè)出版社相應(yīng)渠道獲。ㄒ姲鏅(quán)頁內(nèi)容簡介)。
致謝
首先感謝父母的養(yǎng)育之恩,在當(dāng)年那么艱苦的條件下還堅決支持我讀書,沒有讓我像其他同齡的孩子一樣輟學(xué)。感謝姐姐、姐夫多年來對我的愛護(hù)以及在老家對父母的照顧,感謝善良的弟弟、弟媳在老家對父母的照顧。當(dāng)然,
董付國 副教授,知名Python教育者。擁有多年P(guān)ython教學(xué)和開發(fā)經(jīng)驗,先后出版《Python程序設(shè)計》、《Python程序設(shè)計基礎(chǔ)》、《Python程序設(shè)計(第2版)》、《Python可以這樣學(xué)》、《Python程序設(shè)計開發(fā)寶典》、《中學(xué)生可以這樣學(xué)Python》等系列教材。開發(fā)過多套涉及不同領(lǐng)域的管理系統(tǒng),在國內(nèi)外高水平學(xué)術(shù)期刊與會議上發(fā)表論文40余篇,其中近30篇被EI檢索。
目 錄
前言
項目1 認(rèn)識Python1
1.1 任務(wù)1 了解Python語言和版本1
1.2 任務(wù)2 安裝與配置Python開發(fā)環(huán)境2
1.2.1 IDLE2
1.2.2 Anaconda 33
1.2.3 PyCharm5
1.3 任務(wù)3 了解Python編程規(guī)范7
1.4 任務(wù)4 安裝擴(kuò)展庫7
1.5 任務(wù)5 導(dǎo)入與使用標(biāo)準(zhǔn)庫與擴(kuò)展庫中的對象8
1.5.1 import 模塊名 [as 別名]9
1.5.2 from 模塊名 import 對象名 [ as 別名]9
1.5.3 from 模塊名 import *10
習(xí)題10
項目2 使用內(nèi)置對象和運算符11
2.1 任務(wù)1 認(rèn)識Python常用內(nèi)置對象11
2.1.1 常量與變量12
2.1.2 數(shù)字類型13
2.1.3 字符串14
2.1.4 列表、元組、字典、集合15
2.2 任務(wù)2 使用Python運算符與表達(dá)式15
2.2.1 算術(shù)運算符16
2.2.2 關(guān)系運算符17
2.2.3 成員測試運算符18
2.2.4 集合運算符18
2.2.5 邏輯運算符18
2.2.6 補(bǔ)充說明19
2.3 任務(wù)3 使用Python內(nèi)置函數(shù)19
2.3.1 類型轉(zhuǎn)換與判斷21
2.3.2 最值與求和23
2.3.3 基本輸入/輸出24
2.3.4 排序與逆序25
2.3.5 枚舉與迭代25
2.3.6 map()函數(shù)、reduce()函數(shù)、filter()函數(shù)26
2.3.7 range()函數(shù)28
2.3.8 zip()函數(shù)28
2.4 任務(wù)4 了解Python關(guān)鍵字29
習(xí)題30
項目3 使用Python序列結(jié)構(gòu)32
3.1 任務(wù)1 了解Python序列32
3.2 任務(wù)2 使用列表33
3.2.1 列表創(chuàng)建與刪除33
3.2.2 列表元素訪問34
3.2.3 列表常用方法34
3.2.4 列表對象支持的運算符36
3.2.5 內(nèi)置函數(shù)對列表的操作37
3.2.6 列表推導(dǎo)式37
3.2.7 切片40
3.3 任務(wù)3 使用元組與生成器表達(dá)式40
3.3.1 元組創(chuàng)建與元素訪問40
3.3.2 元組與列表的異同點41
3.3.3 生成器表達(dá)式41
3.4 任務(wù)4 使用字典42
3.4.1 字典的創(chuàng)建與刪除43
3.4.2 字典元素的訪問43
3.4.3 元素的添加、修改與刪除44
3.4.4 字典應(yīng)用案例45
3.5 任務(wù)5 使用集合46
3.5.1 集合對象的創(chuàng)建與刪除46
3.5.2 集合的操作與運算47
3.5.3 集合應(yīng)用案例48
3.6 任務(wù)6 理解序列解包51
習(xí)題53
項目4 使用程序控制結(jié)構(gòu)54
4.1 任務(wù)1 理解條件表達(dá)式54
4.2 任務(wù)2 使用選擇結(jié)構(gòu)56
4.2.1 單分支選擇結(jié)構(gòu)56
4.2.2 雙分支選擇結(jié)構(gòu)57
4.2.3 多分支選擇結(jié)構(gòu)58
4.2.4 選擇結(jié)構(gòu)的嵌套59
4.3 任務(wù)3 使用循環(huán)結(jié)構(gòu)59
4.3.1 for循環(huán)與while循環(huán)59
4.3.2 break與continue語句60
4.4 任務(wù)4 了解異常處理結(jié)構(gòu)語法61
4.5 任務(wù)5 綜合應(yīng)用62
習(xí)題67
項目5 設(shè)計和使用自定義函數(shù)69
5.1 任務(wù)1 定義與調(diào)用函數(shù)69
5.1.1 基本語法69
5.1.2 遞歸函數(shù)70
5.2 任務(wù)2 理解函數(shù)參數(shù)71
5.2.1 位置參數(shù)71
5.2.2 默認(rèn)值參數(shù)71
5.2.3 關(guān)鍵參數(shù)72
5.2.4 可變長度參數(shù)72
5.2.5 傳遞參數(shù)時的序列解包73
5.3 任務(wù)3 理解變量作用域74
5.4 任務(wù)4 理解lambda表達(dá)式75
5.5 任務(wù)5 理解生成器函數(shù)76
5.6 任務(wù)6 綜合應(yīng)用77
習(xí)題86
項目6 面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)88
6.1 任務(wù)1 定義與使用類88
6.2 任務(wù)2 理解數(shù)據(jù)成員與成員方法89
6.2.1 私有成員與公有成員89
6.2.2 數(shù)據(jù)成員90
6.2.3 成員方法90
6.2.4 屬性92
6.3 任務(wù)3 理解和使用繼承94
6.4 任務(wù)4 理解特殊方法工作原理96
6.5 任務(wù)5 綜合應(yīng)用98
習(xí)題105
項目7 使用字符串106
7.1 任務(wù)1 認(rèn)識字符串106
7.1.1 字符串編碼格式106
7.1.2 轉(zhuǎn)義字符與原始字符串107
7.2 任務(wù)2 字符串格式化109
7.2.1 使用%符號進(jìn)行格式化109
7.2.2 使用format()方法進(jìn)行字符串格式化110
7.2.3 格式化的字符串常量111
7.3 任務(wù)3 字符串常用方法與操作111
7.3.1 find()、rfind()、index()、rindex()、count()111
7.3.2 split()、rsplit()112
7.3.3 join()113
7.3.4 lower()、upper()、capitalize()、title()、swapcase()113
7.3.5 replace()、maketrans()、translate()114
7.3.6 strip()、rstrip()、lstrip()115
7.3.7 startswith()、endswith()115
7.3.8 isalnum()、isalpha()、isdigit()、isspace()、isupper()、islower()115
7.3.9 center()、ljust()、rjust()116
7.3.10 字符串支持的運算符116
7.3.11 適用于字符串的內(nèi)置函數(shù)117
7.3.12 字符串切片118
7.4 任務(wù)4 使用字符串常量118
7.5 任務(wù)5 中英文分詞119
7.6 任務(wù)6 漢字到拼音的轉(zhuǎn)換120
7.7 任務(wù)7 綜合應(yīng)用120
習(xí)題122
項目8 使用正則表達(dá)式124
8.1 任務(wù)1 理解正則表達(dá)式語法124
8.2 任務(wù)2 使用正則表達(dá)式模塊re126
8.3 任務(wù)3 綜合應(yīng)用128
習(xí)題131
項目9 讀寫文件內(nèi)容132
9.1 任務(wù)1 了解文件的概念及分類132
9.2 任務(wù)2 了解文件操作基本知識132
9.2.1 內(nèi)置函數(shù)open()133
9.2.2 文件對象常用方法134
9.2.3 上下文管理語句with134
9.3 任務(wù)3 文本文件內(nèi)容操作134
9.4 任務(wù)4 Excel與Word文件操作136
習(xí)題145
項目10 文件與文件夾操作147
10.1 任務(wù)1 使用os模塊147
10.2 任務(wù)2 使用os.path模塊149
10.3 任務(wù)3 使用shutil模塊150
10.4 任務(wù)4 綜合應(yīng)用151
習(xí)題154
項目11 網(wǎng)絡(luò)爬蟲入門與應(yīng)用156
11.1 任務(wù)1 了解HTML與JavaScript156
11.1.1 HTML基礎(chǔ)156
11.1.2 JavaScript基礎(chǔ)158
11.2 任務(wù)2 使用urllib編寫爬蟲程序160
11.2.1 urllib的基本應(yīng)用161
11.2.2 urllib爬蟲案例162
11.3 任務(wù)3 使用scrapy編寫爬蟲程序164
11.4 任務(wù)4 了解BeautifulSoup基本用法169
11.5 任務(wù)5 使用requests編寫爬蟲程序174
11.5.1 requests基本操作175
11.5.2 requests爬蟲案例176
11.6 任務(wù)6 使用selenium編寫爬蟲程序177
習(xí)題181
項目12 使用numpy實現(xiàn)數(shù)組與矩陣運算182
12.1 任務(wù)1 掌握數(shù)組常用操作182
12.2 任務(wù)2 矩陣運算與常用操作192
習(xí)題195
項目13 使用pandas分析與處理數(shù)據(jù)197
13.1 任務(wù)1 了解pandas常用操作197
13.2 任務(wù)2 pandas結(jié)合matplotlib進(jìn)行數(shù)據(jù)可視化212
13.3 任務(wù)3 pandas應(yīng)用案例216
習(xí)題223
項目14 使用matplotlib進(jìn)行數(shù)據(jù)可視化225
14.1 任務(wù)1 認(rèn)識matplotlib225
14.2 任務(wù)2 繪制帶有中文標(biāo)題、標(biāo)簽和圖例的折線圖225
14.3 任務(wù)3 繪制散點圖227
14.4 任務(wù)4 繪制餅狀圖231
14.5 任務(wù)5 繪制柱狀圖232
14.6 任務(wù)6 繪制雷達(dá)圖234
14.7 任務(wù)7 繪制三維圖形235
14.8 任務(wù)8 切分繪圖區(qū)域239
14.9 任務(wù)9 設(shè)置圖例240
14.10 任務(wù)10 設(shè)置坐標(biāo)軸刻度距離和文本242
習(xí)題243
參考文獻(xiàn)245