Python程序設(shè)計(jì)實(shí)例教程
定 價(jià):49 元
叢書名:全國(guó)高等職業(yè)教育“十三五”規(guī)劃教材
- 作者:董付國(guó)
- 出版時(shí)間:2019/8/1
- ISBN:9787111631989
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書系統(tǒng)介紹Python基礎(chǔ)知識(shí)以及數(shù)據(jù)采集、分析、可視化的流程與應(yīng)用,實(shí)例豐富,實(shí)戰(zhàn)性強(qiáng)。全書共14個(gè)項(xiàng)目,其中前10個(gè)項(xiàng)目以Python基礎(chǔ)知識(shí)的理解和應(yīng)用為主,項(xiàng)目11至14分別講解網(wǎng)絡(luò)爬蟲以及numpy、pandas和matplotlib的應(yīng)用。書中全部代碼適用于Python 3.5、Python 3.6、Python 3.7以及更高版本。
本書可以作為本科、?啤⒏呗氃盒7怯(jì)算機(jī)專業(yè)程序設(shè)計(jì)課程用教材,也可作為計(jì)算機(jī)專業(yè)程序設(shè)計(jì)基礎(chǔ)課程用教材,還可作為Python愛好者的自學(xué)用書。
本書配有教學(xué)資源(包括PPT、源代碼、大綱、習(xí)題答案),需要的教師可登錄www.cmpedu.com免費(fèi)注冊(cè),審核通過后下載,或聯(lián)系編輯索。≦Q:1239258369,電話:010-88379739)。
本書共14個(gè)項(xiàng)目,主要包括Python編程基礎(chǔ)、網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析和數(shù)據(jù)可視化四大部分內(nèi)容。
全部代碼適用于Python 3.5、Python 3.6、Python 3.7以及更高版本。
免費(fèi)提供教學(xué)PPT、源代碼、教學(xué)大綱、習(xí)題答案等全套教學(xué)資源。
Python語言由Guido van Rossum于1991年推出了第一個(gè)公開發(fā)行版本,之后迅速得到了各行業(yè)人士的青睞。經(jīng)過20多年的發(fā)展,Python語言已經(jīng)滲透到統(tǒng)計(jì)分析、移動(dòng)終端開發(fā)、科學(xué)計(jì)算可視化、系統(tǒng)安全、逆向工程、軟件測(cè)試與軟件分析、圖形圖像處理、人工智能、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等幾乎所有專業(yè)和領(lǐng)域,在黑客領(lǐng)域更是多年來一直擁有霸主地位。與此同時(shí),Python語言在各大編程語言排行榜上的位次也是逐年上升的,被TIOBE網(wǎng)站評(píng)為2010年年度語言;在IEEE Spectrum 2017 編程語言排行榜上名列榜首。
Python是一門免費(fèi)、開源、跨平臺(tái)的高級(jí)動(dòng)態(tài)編程語言,支持命令式編程、函數(shù)式編程,完全支持面向?qū)ο蟪绦蛟O(shè)計(jì),擁有大量功能強(qiáng)大的內(nèi)置對(duì)象、標(biāo)準(zhǔn)庫(kù),以及涉及各行業(yè)領(lǐng)域的擴(kuò)展庫(kù),使得各領(lǐng)域的工程師、科研人員、策劃人員和管理人員能夠快速實(shí)現(xiàn)和驗(yàn)證自己的思路、創(chuàng)意或者推測(cè),還有更多人喜歡用Python寫個(gè)小腳本來完成自己工作中的一些小任務(wù)。在有些編程語言中需要編寫大量代碼才能實(shí)現(xiàn)的功能,在Python中只需要幾行代碼,大幅度減少了代碼量,更加容易維護(hù)。Python用戶只需要把主要精力放在業(yè)務(wù)邏輯的設(shè)計(jì)與實(shí)現(xiàn)上,在開發(fā)速度和運(yùn)行效率之間達(dá)到了完美的平衡,其精妙之處令人擊節(jié)贊嘆。
一個(gè)好的Python程序不僅是正確的,更是簡(jiǎn)潔、直觀、漂亮、優(yōu)雅、方便人們閱讀的,整個(gè)代碼處處體現(xiàn)著美,讓人賞心悅目。Python代碼對(duì)布局要求非常嚴(yán)格,尤其是使用縮進(jìn)來體現(xiàn)代碼的邏輯關(guān)系,這一點(diǎn)硬性要求非常有利于學(xué)習(xí)者和程序員養(yǎng)成一個(gè)良好、嚴(yán)謹(jǐn)?shù)牧?xí)慣。除了能夠快速解決問題之外,代碼布局要求嚴(yán)格也是Python被廣泛選作教學(xué)語言的重要原因。
早在多年前Python就已經(jīng)成為卡耐基梅隆大學(xué)、麻省理工學(xué)院、加州大學(xué)伯克利分校、哈佛大學(xué)、多倫多大學(xué)等國(guó)外很多大學(xué)計(jì)算機(jī)專業(yè)或非計(jì)算機(jī)專業(yè)的程序設(shè)計(jì)入門教學(xué)語言。近幾年來國(guó)內(nèi)有幾百所高等院校的多個(gè)專業(yè)陸續(xù)開設(shè)了Python程序設(shè)計(jì)有關(guān)課程,并且這個(gè)數(shù)量還在持續(xù)快速增加。目前來看,選擇使用Python作為程序設(shè)計(jì)入門教學(xué)語言或者作為各專業(yè)擴(kuò)展課程,無疑是一個(gè)非常明智的選擇。
內(nèi)容組織與閱讀建議
本書共14個(gè)項(xiàng)目和若干子任務(wù),主要包括Python編程基礎(chǔ)、網(wǎng)絡(luò)爬蟲、數(shù)據(jù)分析和數(shù)據(jù)可視化這四大部分內(nèi)容,全部代碼適用于Python 3.5、Python 3.6、Python 3.7以及更高版本。
項(xiàng)目1 認(rèn)識(shí)Python。簡(jiǎn)單介紹Python語言與版本、安裝與配置Python開發(fā)環(huán)境、Python編碼規(guī)范、擴(kuò)展庫(kù)安裝方法以及標(biāo)準(zhǔn)庫(kù)對(duì)象與擴(kuò)展庫(kù)對(duì)象的導(dǎo)入。
項(xiàng)目2 使用內(nèi)置對(duì)象和運(yùn)算符。講解Python常用內(nèi)置對(duì)象、運(yùn)算符與表達(dá)式、常用內(nèi)置函數(shù)、Python關(guān)鍵字。
項(xiàng)目3 使用Python序列結(jié)構(gòu)。講解序列、列表、元組與生成器表達(dá)式、字典、集合、序列解包。
項(xiàng)目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)。
項(xiàng)目5 設(shè)計(jì)和使用自定義函數(shù)。講解函數(shù)定義與調(diào)用語法、不同類型的函數(shù)參數(shù)、參數(shù)傳遞的序列解包、變量作用域、lambda表達(dá)式、生成器函數(shù)。
項(xiàng)目6 面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)。講解類的定義與使用、數(shù)據(jù)成員與成員方法、屬性和繼承、特殊方法。
項(xiàng)目7 使用字符串。講解字符串編碼格式、轉(zhuǎn)義字符與原始字符串、字符串格式化的不同形式、字符串常用方法、字符串常量、中英文分詞、漢字到拼音的轉(zhuǎn)換。
項(xiàng)目8 使用正則表達(dá)式。講解正則表達(dá)式語法、正則表達(dá)式模塊re的用法。
項(xiàng)目9 讀寫文件內(nèi)容。講解文件操作基本知識(shí)、文本文件內(nèi)容操作以及Excel與Word等常見類型文件的操作。
項(xiàng)目10 文件與文件夾操作。講解os、os.path與shutil這3個(gè)模塊的用法,以及遞歸遍歷文件夾和按廣度優(yōu)先遍歷文件夾的原理。
項(xiàng)目11 網(wǎng)絡(luò)爬蟲入門與應(yīng)用。講解HTML、JavaScript基礎(chǔ)以及urllib、scrapy、BeautifulSoup、requests、selenium在網(wǎng)絡(luò)爬蟲程序中的應(yīng)用。
項(xiàng)目12 使用numpy實(shí)現(xiàn)數(shù)組與矩陣運(yùn)算。講解numpy的數(shù)組和矩陣運(yùn)算。
項(xiàng)目13 使用pandas分析與處理數(shù)據(jù)。講解pandas常用操作、pandas結(jié)合matplotlib進(jìn)行數(shù)據(jù)可視化、pandas的應(yīng)用。
項(xiàng)目14 使用matplotlib進(jìn)行數(shù)據(jù)可視化。介紹使用Python擴(kuò)展庫(kù)matplotlib進(jìn)行數(shù)據(jù)可視化相關(guān)的技術(shù),包括折線圖、散點(diǎn)圖、餅狀圖、柱狀圖、三維圖的繪制,以及切分繪圖區(qū)域、設(shè)置坐標(biāo)軸和圖例等內(nèi)容。
本書適用讀者
本書可以作為(但不限于):本科、?、高職院校非計(jì)算機(jī)專業(yè)程序設(shè)計(jì)課程用教材,計(jì)算機(jī)專業(yè)程序設(shè)計(jì)基礎(chǔ)課程教材, Python愛好者自學(xué)用書。
配套資源
本書提供教學(xué)PPT、源代碼、大綱、習(xí)題答案等全套教學(xué)資源,可通過微信公眾號(hào)“Python小屋”獲取,或發(fā)送郵件至dongfuguo2005@126.com與作者聯(lián)系獲;也可通過機(jī)械工業(yè)出版社相應(yīng)渠道獲。ㄒ姲鏅(quán)頁內(nèi)容簡(jiǎn)介)。
致謝
首先感謝父母的養(yǎng)育之恩,在當(dāng)年那么艱苦的條件下還堅(jiān)決支持我讀書,沒有讓我像其他同齡的孩子一樣輟學(xué)。感謝姐姐、姐夫多年來對(duì)我的愛護(hù)以及在老家對(duì)父母的照顧,感謝善良的弟弟、弟媳在老家對(duì)父母的照顧。當(dāng)然,
董付國(guó) 副教授,知名Python教育者。擁有多年P(guān)ython教學(xué)和開發(fā)經(jīng)驗(yàn),先后出版《Python程序設(shè)計(jì)》、《Python程序設(shè)計(jì)基礎(chǔ)》、《Python程序設(shè)計(jì)(第2版)》、《Python可以這樣學(xué)》、《Python程序設(shè)計(jì)開發(fā)寶典》、《中學(xué)生可以這樣學(xué)Python》等系列教材。開發(fā)過多套涉及不同領(lǐng)域的管理系統(tǒng),在國(guó)內(nèi)外高水平學(xué)術(shù)期刊與會(huì)議上發(fā)表論文40余篇,其中近30篇被EI檢索。
目 錄
前言
項(xiàng)目1 認(rèn)識(shí)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ò)展庫(kù)7
1.5 任務(wù)5 導(dǎo)入與使用標(biāo)準(zhǔn)庫(kù)與擴(kuò)展庫(kù)中的對(duì)象8
1.5.1 import 模塊名 [as 別名]9
1.5.2 from 模塊名 import 對(duì)象名 [ as 別名]9
1.5.3 from 模塊名 import *10
習(xí)題10
項(xiàng)目2 使用內(nèi)置對(duì)象和運(yùn)算符11
2.1 任務(wù)1 認(rèn)識(shí)Python常用內(nèi)置對(duì)象11
2.1.1 常量與變量12
2.1.2 數(shù)字類型13
2.1.3 字符串14
2.1.4 列表、元組、字典、集合15
2.2 任務(wù)2 使用Python運(yùn)算符與表達(dá)式15
2.2.1 算術(shù)運(yùn)算符16
2.2.2 關(guān)系運(yùn)算符17
2.2.3 成員測(cè)試運(yùn)算符18
2.2.4 集合運(yùn)算符18
2.2.5 邏輯運(yùn)算符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
項(xiàng)目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 列表對(duì)象支持的運(yùn)算符36
3.2.5 內(nèi)置函數(shù)對(duì)列表的操作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 元組與列表的異同點(diǎn)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 集合對(duì)象的創(chuàng)建與刪除46
3.5.2 集合的操作與運(yùn)算47
3.5.3 集合應(yīng)用案例48
3.6 任務(wù)6 理解序列解包51
習(xí)題53
項(xiàng)目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
項(xiàng)目5 設(shè)計(jì)和使用自定義函數(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 可變長(zhǎng)度參數(shù)72
5.2.5 傳遞參數(shù)時(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
項(xiàng)目6 面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(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
項(xiàng)目7 使用字符串106
7.1 任務(wù)1 認(rèn)識(shí)字符串106
7.1.1 字符串編碼格式106
7.1.2 轉(zhuǎn)義字符與原始字符串107
7.2 任務(wù)2 字符串格式化109
7.2.1 使用%符號(hào)進(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 字符串支持的運(yùn)算符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
項(xiàng)目8 使用正則表達(dá)式124
8.1 任務(wù)1 理解正則表達(dá)式語法124
8.2 任務(wù)2 使用正則表達(dá)式模塊re126
8.3 任務(wù)3 綜合應(yīng)用128
習(xí)題131
項(xiàng)目9 讀寫文件內(nèi)容132
9.1 任務(wù)1 了解文件的概念及分類132
9.2 任務(wù)2 了解文件操作基本知識(shí)132
9.2.1 內(nèi)置函數(shù)open()133
9.2.2 文件對(duì)象常用方法134
9.2.3 上下文管理語句with134
9.3 任務(wù)3 文本文件內(nèi)容操作134
9.4 任務(wù)4 Excel與Word文件操作136
習(xí)題145
項(xiàng)目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
項(xiàng)目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
項(xiàng)目12 使用numpy實(shí)現(xiàn)數(shù)組與矩陣運(yùn)算182
12.1 任務(wù)1 掌握數(shù)組常用操作182
12.2 任務(wù)2 矩陣運(yùn)算與常用操作192
習(xí)題195
項(xiàng)目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
項(xiàng)目14 使用matplotlib進(jìn)行數(shù)據(jù)可視化225
14.1 任務(wù)1 認(rèn)識(shí)matplotlib225
14.2 任務(wù)2 繪制帶有中文標(biāo)題、標(biāo)簽和圖例的折線圖225
14.3 任務(wù)3 繪制散點(diǎn)圖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