Python程序設(shè)計(jì)——編程基礎(chǔ)、Web開發(fā)及數(shù)據(jù)分析
定 價(jià):79 元
叢書名:普通高等教育系列教材
- 作者:李輝 劉洋 編著
- 出版時(shí)間:2020/11/1
- ISBN:9787111666486
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:380
- 紙張:
- 版次:
- 開本:16開
《Python程序設(shè)計(jì)——編程基礎(chǔ)、Web開發(fā)及數(shù)據(jù)分析》系統(tǒng)講述了Python程序設(shè)計(jì)的基礎(chǔ)知識(shí)。全書共15章,內(nèi)容包括:Python概述、Python基本語(yǔ)法、Python的基本流程控制、Python的四種典型序列結(jié)構(gòu)、Python函數(shù)、Python文件和數(shù)據(jù)庫(kù)操作、面向?qū)ο蟪绦蛟O(shè)計(jì)、模塊和包、字符串操作與正則表達(dá)式的使用、錯(cuò)誤及異常處理、GUI編程、網(wǎng)絡(luò)和多線程編程、基于Flask框架的Web編程、網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)、數(shù)據(jù)分析與可視化基礎(chǔ)。
為提升學(xué)習(xí)效果,書中結(jié)合實(shí)際應(yīng)用提供了大量的案例對(duì)概念和知識(shí)點(diǎn)進(jìn)行說明,并配以完善的學(xué)習(xí)資料,包括教學(xué)PPT、教學(xué)大綱、源代碼、教學(xué)視頻及配套軟件等,為讀者帶來(lái)全方位的學(xué)習(xí)體驗(yàn)。
《Python程序設(shè)計(jì)——編程基礎(chǔ)、Web開發(fā)及數(shù)據(jù)分析》系既可作為高等院校數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)及其他計(jì)算機(jī)相關(guān)專業(yè)的Python教材,也可供自學(xué)者使用。
目 錄
前言
第1章 Python概述1
1.1 認(rèn)識(shí)Python語(yǔ)言1
1.1.1 Python的發(fā)展歷程1
1.1.2 Python的特點(diǎn)1
1.1.3 Python的應(yīng)用領(lǐng)域3
1.1.4 Python的版本4
1.2 Windows下的Python集成開發(fā)
環(huán)境6
1.2.1 Python的編程模式6
1.2.2 Python開發(fā)運(yùn)行環(huán)境的安裝6
1.2.3 使用IDLE編寫“Hello Python”9
1.2.4 PyCharm的安裝與使用9
1.3 安裝Python集成開發(fā)環(huán)境19
1.3.1 Linux環(huán)境下安裝Python開發(fā)環(huán)境19
1.3.2 Mac OS下安裝Python開發(fā)環(huán)境20
1.4 Python程序運(yùn)行原理21
1.4.1 計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的分類21
1.4.2 計(jì)算機(jī)程序的運(yùn)行方式21
1.4.3 Python程序的運(yùn)行方式22
1.4.4 Python的解釋器類型23
1.4.5 Python程序的可執(zhí)行文件23
1.4.6 Python語(yǔ)言的文件類型24
1.5 本章小結(jié)24
1.6 思考與練習(xí)24
第2章 Python基本語(yǔ)法25
2.1 Python程序設(shè)計(jì)的基本元素25
2.2 Python的語(yǔ)法特點(diǎn)26
2.2.1 命名規(guī)范26
2.2.2 代碼縮進(jìn)27
2.2.3 編碼規(guī)范27
2.2.4 注釋規(guī)則29
2.3 標(biāo)識(shí)符與變量、常量30
2.3.1 標(biāo)識(shí)符與保留字30
2.3.2 變量的定義與賦值32
2.3.3 常量的定義35
2.4 基本數(shù)據(jù)類型36
2.4.1 數(shù)值類型36
2.4.2 布爾類型38
2.4.3 NoneType類型38
2.4.4 數(shù)據(jù)類型轉(zhuǎn)換38
2.4.5 對(duì)象和引用40
2.4.6 字符串類型41
2.5 基本輸入和輸出43
2.5.1 基于input函數(shù)輸入43
2.5.2 基于print函數(shù)輸出44
2.6 常見的運(yùn)算符與表達(dá)式47
2.6.1 運(yùn)算符與表達(dá)式概述47
2.6.2 算術(shù)運(yùn)算符與表達(dá)式49
2.6.3 賦值運(yùn)算符與表達(dá)式50
2.6.4 關(guān)系運(yùn)算符與表達(dá)式51
2.6.5 邏輯運(yùn)算符與表達(dá)式53
2.6.6 條件(三目)運(yùn)算符54
2.6.7 位運(yùn)算符54
2.6.8 運(yùn)算符的優(yōu)先級(jí)55
2.7 本章小結(jié)56
2.8 思考與練習(xí)56
第3章 Python的基本流程控制57
3.1 基本語(yǔ)句及順序結(jié)構(gòu)57
3.1.1 基本語(yǔ)句57
3.1.2 順序結(jié)構(gòu)58
3.2 選擇結(jié)構(gòu)59
3.2.1 if語(yǔ)句59
3.2.2 if…else語(yǔ)句60
3.2.3 if…elif…else語(yǔ)句61
3.2.4 分支語(yǔ)句嵌套63
3.3 循環(huán)結(jié)構(gòu)65
3.3.1 while語(yǔ)句65
3.3.2 for語(yǔ)句和range內(nèi)建函數(shù)67
3.3.3 循環(huán)語(yǔ)句嵌套69
3.4 轉(zhuǎn)移和中斷語(yǔ)句70
3.4.1 break語(yǔ)句71
3.4.2 continue語(yǔ)句72
3.4.3 pass語(yǔ)句74
3.5 while...else與for...else語(yǔ)句75
3.5.1 while...else語(yǔ)句75
3.5.2 for...else語(yǔ)句76
3.6 本章小結(jié)76
3.7 思考與練習(xí)76
第4章 Python的四種典型序列結(jié)構(gòu)78
4.1 序列78
4.1.1 序列概述78
4.1.2 序列的基本操作78
4.2 列表82
4.2.1 列表的創(chuàng)建與刪除82
4.2.2 列表元素的訪問與遍歷83
4.2.3 列表元素的常用操作(增、刪、
改、查)85
4.2.4 列表元素的統(tǒng)計(jì)與排序92
4.2.5 列表的嵌套93
4.3 元組94
4.3.1 元組的創(chuàng)建與刪除94
4.3.2 元組的常見操作95
4.3.3 元組與列表的區(qū)別及相互轉(zhuǎn)換97
4.4 字典97
4.4.1 字典的創(chuàng)建98
4.4.2 字典元素的訪問與遍歷100
4.4.3 字典元素的常見操作(增、刪、
改、查)101
4.5 集合103
4.5.1 集合的創(chuàng)建104
4.5.2 集合元素的常見操作(增加、
刪除、查找)105
4.5.3 集合的交集、并集和差集數(shù)學(xué)
運(yùn)算106
4.6 容器的公共操作107
4.6.1 運(yùn)算符操作107
4.6.2 公共方法108
4.6.3 容器類型轉(zhuǎn)換110
4.7 推導(dǎo)式與生成器推導(dǎo)式111
4.7.1 列表推導(dǎo)式111
4.7.2 字典推導(dǎo)式113
4.7.3 集合推導(dǎo)式114
4.7.4 元組的生成器推導(dǎo)式114
4.8 本章小結(jié)115
4.9 思考與練習(xí)115
第5章 Python函數(shù)117
5.1 函數(shù)的定義和調(diào)用117
5.1.1 定義函數(shù)117
5.1.2 調(diào)用函數(shù)119
5.1.3 函數(shù)的返回值119
5.1.4 函數(shù)的嵌套調(diào)用120
5.2 函數(shù)的參數(shù)與值傳遞120
5.2.1 函數(shù)的形參和實(shí)參121
5.2.2 位置參數(shù)122
5.2.3 關(guān)鍵字參數(shù)123
5.2.4 默認(rèn)參數(shù)124
5.2.5 不定長(zhǎng)(可變)參數(shù)124
5.2.6 可變參數(shù)的裝包與拆包126
5.3 變量的作用域127
5.3.1 LEGB原則127
5.3.2 全局變量和局部變量128
5.4 遞歸函數(shù)和匿名函數(shù)130
5.4.1 遞歸函數(shù)130
5.4.2 匿名函數(shù)131
5.5 高階函數(shù)132
5.5.1 內(nèi)置高階函數(shù):map133
5.5.2 內(nèi)置高階函數(shù):reduce134
5.5.3 內(nèi)置高階函數(shù):filter135
5.6 閉包及其應(yīng)用136
5.6.1 閉包概述136
5.6.2 閉包的應(yīng)用137
5.7 裝飾器及其應(yīng)用138
5.7.1 裝飾器的概念138
5.7.2 裝飾器的應(yīng)用139
5.8 迭代器及其應(yīng)用142
5.8.1 迭代器的概念142
5.8.2 迭代器的應(yīng)用144
5.9 生成器及其應(yīng)用145
5.9.1 生成器的概念145
5.9.2 生成器的應(yīng)用145
5.10 本章小結(jié)147
5.11 思考與練習(xí)147
第6章 Python文件和數(shù)據(jù)庫(kù)操作149
6.1 文件相關(guān)的基本概念149
6.1.1 文件與路徑149
6.1.2 文件的編碼方式150
6.1.3 文本文件和二進(jìn)制文件的區(qū)別151
6.2 文件夾與目錄操作152
6.2.1 os.path模塊152
6.2.2 獲取與改變工作目錄152
6.2.3 目錄與文件操作153
6.2.4 文件的重命名和刪除154
6.3 文件的基本操作155
6.3.1 文件的打開和關(guān)閉155
6.3.2 文件的讀取與寫入157
6.3.3 按行對(duì)文件內(nèi)容讀寫159
6.3.4 使用fileinput對(duì)象讀取大文件
操作160
6.4 處理XML格式文件的數(shù)據(jù)162
6.4.1 初識(shí)XML162
6.4.2 基于DOM操作XML文件165
6.4.3 基于SAX操作XML文件167
6.5 JSON格式文件及其操作169
6.5.1 JSON概述169
6.5.2 讀寫JSON文件169
6.5.3 數(shù)據(jù)格式轉(zhuǎn)化對(duì)應(yīng)表171
6.5.4 利用xmltodict庫(kù)實(shí)現(xiàn)XML與
JSON格式轉(zhuǎn)換173
6.6 Python操作MySQL數(shù)據(jù)庫(kù)175
6.6.1 PyMySQL的安裝175
6.6.2 PyMySQL操作MySQL的流程及
常用對(duì)象175
6.6.3 PyMySQL的使用步驟177
6.7 本章小結(jié)178
6.8 思考與練習(xí)179
第7章 面向?qū)ο蟪绦蛟O(shè)計(jì)180
7.1 面向?qū)ο蟪绦蛟O(shè)計(jì)的三個(gè)基本
特性180
7.2 類和對(duì)象181
7.2.1 類的定義和使用182
7.2.2 構(gòu)造函數(shù)(方法)與析構(gòu)函數(shù)
(方法)184
7.2.3 創(chuàng)建類的方法與成員訪問186
7.2.4 訪問限制:私有成員與公有成員190
7.2.5 類代碼塊192
7.2.6 特殊方法:靜態(tài)方法和類方法192
7.2.7 單例模式196
7.2.8 函數(shù)和方法的區(qū)別196
7.3 類的繼承和多態(tài)197
7.3.1 類的繼承198
7.3.2 類的多繼承201
7.3.3 方法重寫202
7.3.4 多態(tài)與多態(tài)性205
7.3.5 接口207
7.3.6 運(yùn)算符重載208
7.4 綜合應(yīng)用案例:會(huì)員管理系統(tǒng)設(shè)計(jì)
與實(shí)現(xiàn)209
7.4.1 系統(tǒng)需求與設(shè)計(jì)209
7.4.2 系統(tǒng)框架實(shí)現(xiàn)209
7.4.3 管理系統(tǒng)功能實(shí)現(xiàn)211
7.4.4 主程序模塊定義與實(shí)現(xiàn)214
7.5 本章小結(jié)214
7.6 思考與練習(xí)214
第8章 模塊和包215
8.1 Python程序的模塊結(jié)構(gòu)215
8.2 模塊的定義與使用216
8.2.1 模塊的定義217
8.2.2 使用import語(yǔ)句導(dǎo)入模塊217
8.2.3 使用from…import語(yǔ)句導(dǎo)入模塊218
8.2.4 模塊搜索目錄219
8.2.5 模塊內(nèi)建函數(shù)220
8.2.6 絕對(duì)導(dǎo)入和相對(duì)導(dǎo)入221
8.3 Python中的包221
8.3.1 Python程序的包結(jié)構(gòu)221
8.3.2 創(chuàng)建和使用包222
8.4 引用其他模塊223
8.4.1 第三方模塊的下載與安裝223
8.4.2 標(biāo)準(zhǔn)模塊的使用225
8.4.3 常見的標(biāo)準(zhǔn)模塊227
8.5 日期與時(shí)間函數(shù)227
8.5.1 時(shí)間函數(shù)228
8.5.2 日期函數(shù)231
8.5.3 日歷函數(shù)232
8.6 本章小結(jié)233
8.7 思考與練習(xí)234
第9章 字符串操作與正則表達(dá)式的
使用235
9.1 字符串的編碼轉(zhuǎn)換235
9.1.1 字符串的編碼235
9.1.2 字符串的解碼236
9.2 字符串的常見操作237
9.2.1 字符串查找237
9.2.2 字符串修改240
9.2.3 字符串判斷245
9.2.4 字符串的長(zhǎng)度計(jì)算248
9.2.5 字符串的格式化249
9.3 正則表達(dá)式及常見的基本符號(hào)251
9.4 re模塊實(shí)現(xiàn)正則表達(dá)式操作253
9.4.1 匹配字符串:match()方法254
9.4.2 搜索與替換字符串:sub()方法與
subn()方法255
9.4.3 分割字符串:split()方法256
9.4.4 搜索字符串:search()、findall()和
finditer()257
9.4.5 編譯標(biāo)志259
9.5 綜合應(yīng)用:利用正則表達(dá)式實(shí)現(xiàn)自動(dòng)
圖片下載260
9.6 本章小結(jié)261
9.7 思考與練習(xí)261
第10章 錯(cuò)誤及異常處理263
10.1 錯(cuò)誤與異常263
10.1.1 兩種類型的錯(cuò)誤263
10.1.2 什么是異常263
10.1.3 常見的錯(cuò)誤與異常265
10.2 捕獲和處理異常266
10.2.1 try…except…語(yǔ)句266
10.2.2 try…except…else…語(yǔ)句267
10.2.3 帶有多個(gè)except的try語(yǔ)句267
10.2.4 捕獲所有異常268
10.2.5 finally子句268
10.3 處理異常的特殊方法269
10.3.1 raise語(yǔ)句拋出異常269
10.3.2 assert語(yǔ)句判定用戶定義的約束
條件270
10.3.3 with…as語(yǔ)句271
10.3.4 自定義異常271
10.4 使用PyCharm進(jìn)行斷點(diǎn)調(diào)試272
10.5 本章小結(jié)274
10.6 思考與練習(xí)274
第11章 GUI編程275
11.1 GUI概述與窗口布局275
11.1.1 什么是GUI275
11.1.2 Windows窗口創(chuàng)建步驟276
11.1.3 布局管理器276
11.2 基于wxPython框架的GUI
開發(fā)277
11.2.1 wxPython框架安裝與配置277
11.2.2 利用wx.App子類創(chuàng)建窗體278
11.2.3 直接利用wx.App創(chuàng)建窗體278
11.2.4 使用wxPython框架創(chuàng)建窗體279
11.2.5 wxPython框架中常用的控件280
11.2.6 wxPython實(shí)例:會(huì)員管理系統(tǒng)用戶
登錄主界面287
11.3 本章小結(jié)289
11.4 思考與練習(xí)289
第12章 網(wǎng)絡(luò)和多線程編程290
12.1 網(wǎng)絡(luò)編程基礎(chǔ)290
12.1.1 IP地址290
12.1.2 端口與端口號(hào)290
12.1.3 TCP291
12.1.4 Socket(套接字)292
12.2 TCP編程292
12.2.1 TCP通信流程293
12.2.2 創(chuàng)建TCP客戶端程序294
12.2.3 創(chuàng)建TCP服務(wù)器端程序295
12.3 多線程編程297
12.3.1 進(jìn)程與多進(jìn)程的使用297
12.3.2 線程與多線程的使用302
12.3.3 互斥鎖與死鎖305
12.3.4 進(jìn)程與線程的比較308
12.4 本章小結(jié)309
12.5 思考與練習(xí)309
第13章 基于Flask框架的Web編程310
13.1 Web框架概述310
13.1.1 什么是Web框架310
13.1.2 Python常用的Web框架310
13.2 Flask框架環(huán)境搭建312
13.2.1 安裝虛擬環(huán)境312
13.2.2 安裝Flask314
13.3 Flask框架的使用315
13.3.1 第一個(gè)Flask程序316
13.3.2 路由317
13.3.3 靜態(tài)文件319
13.3.4 Jinja2模板的使用319
13.4 本章小結(jié)324
13.5 思考與練習(xí)324
第14章 網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)325
14.1 初識(shí)網(wǎng)絡(luò)爬蟲325
14.1.1 網(wǎng)絡(luò)爬蟲概述325
14.1.2 網(wǎng)絡(luò)爬蟲的分類325
14.1.3 網(wǎng)絡(luò)爬蟲的基本原理326
14.2 網(wǎng)絡(luò)爬蟲的常用技術(shù)327
14.2.1 Python實(shí)現(xiàn)HTTP網(wǎng)絡(luò)請(qǐng)求327
14.2.2 請(qǐng)求headers處理330
14.2.3 網(wǎng)絡(luò)超時(shí)330
14.2.4 代理服務(wù)331
14.2.5 HTML解析器—BeautifulSoup331
14.3 網(wǎng)絡(luò)爬蟲開發(fā)常用框架333
14.3.1 常用網(wǎng)絡(luò)爬蟲開發(fā)框架概述333
14.3.2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用333
14.4 本章小結(jié)339
14.5 思考與練習(xí)339
第15章 數(shù)據(jù)分析與可視化基礎(chǔ)340
15.1 數(shù)據(jù)分析基礎(chǔ)與NumPy340
15.1.1 NumPy概述340
15.1.2 NumPy的對(duì)象ndarray341
15.1.3 NumPy的基本操作342
15.1.4 NumPy統(tǒng)計(jì)函數(shù)345
15.2 數(shù)據(jù)分析與Pandas351
15.2.1 Series對(duì)象及常用操作351
15.2.2 DataFrame對(duì)象及常用操作356
15.3 數(shù)據(jù)可視化與Matplotlib360
15.3.1 常用的數(shù)據(jù)可視化工具360
15.3.2 Matplotlib繪圖的基本流程361
15.3.3 Matplotlib的基礎(chǔ)繪圖功能364
15.3.4 Matplotlib的常見圖形繪制366
15.4 本章小結(jié)371
15.5 思考與練習(xí)371