本書內(nèi)容涵蓋了Python核心編程技術(shù)的主要方面,包括Python語(yǔ)言的基礎(chǔ)知識(shí)、結(jié)構(gòu)化程序設(shè)計(jì)方法、常用組合數(shù)據(jù)類型,還重點(diǎn)介紹了6方面的內(nèi)容:① 軟件系統(tǒng)開發(fā)三層式結(jié)構(gòu)的原理,JSON文件、XML文件的格式及使用,MySQL數(shù)據(jù)庫(kù)及PyMySQL庫(kù)的使用、MongoDB數(shù)據(jù)庫(kù)及PyMongo庫(kù)的使用;② 函數(shù)式編程及偏函數(shù)、高階函數(shù)、閉包和裝飾器的使用;③ Python模塊化編程思想,自定義庫(kù)、標(biāo)準(zhǔn)庫(kù)的使用,sys庫(kù)、隨機(jī)函數(shù)庫(kù)、日期和時(shí)間庫(kù)、正則表達(dá)式庫(kù)等典型第三方庫(kù)的安裝和使用;④ 面向?qū)ο蟮木幊趟枷爰胺庋b、繼承、多態(tài)的概念;⑤ 網(wǎng)絡(luò)編程;⑥ 典型應(yīng)用場(chǎng)景介紹。 本書有300多個(gè)小例子,貼近生活,簡(jiǎn)單易懂,還包括多個(gè)綜合實(shí)例。本書內(nèi)容豐富,兼顧了廣度和深度,低門檻,高輸出,既照顧到零基礎(chǔ)的初學(xué)者,也關(guān)注有較高編程目標(biāo)的信息類學(xué)生。 本書適合作為各類大專院校計(jì)算機(jī)及相關(guān)專業(yè)學(xué)生的教材,也可作為對(duì)Python感興趣的科技人員、計(jì)算機(jī)愛(ài)好者及各類自學(xué)人員的參考書。
謝紅霞,女,浙大城市學(xué)院教師,長(zhǎng)期從事計(jì)算機(jī)基礎(chǔ)教學(xué),主講課程《大學(xué)計(jì)算機(jī)應(yīng)用基礎(chǔ)》《Python程序設(shè)計(jì)基礎(chǔ)》《Python數(shù)據(jù)分析基礎(chǔ)》等,多次榮獲學(xué)校教學(xué)比賽獎(jiǎng)和教學(xué)質(zhì)量獎(jiǎng)。積極開展教學(xué)研究工作,主持浙江省高等教育教學(xué)改革研究項(xiàng)目"基于計(jì)算思維的大學(xué)計(jì)算機(jī)課程教學(xué)改革及研究,主持浙江省高等教育課堂教學(xué)改革研究項(xiàng)目"基于多級(jí)任務(wù)驅(qū)動(dòng)的《ACCESS數(shù)據(jù)庫(kù)應(yīng)用》課堂教學(xué)改革,主持教育部產(chǎn)學(xué)合作協(xié)同育人項(xiàng)目"案例驅(qū)動(dòng)的Python數(shù)據(jù)分析課程教學(xué)設(shè)計(jì)。
目 錄
緒論 1
0.1 Python入門簡(jiǎn)介 1
0.2 Python運(yùn)行模式 4
0.3 虛擬環(huán)境 7
0.4 開發(fā)工具 8
習(xí)題 13
實(shí)驗(yàn) 14
實(shí)驗(yàn)0.1 在Windows操作系統(tǒng)中安裝Python運(yùn)行環(huán)境 14
實(shí)驗(yàn)0.2 Python環(huán)境下的三種運(yùn)行模式 15
實(shí)驗(yàn)0.3 創(chuàng)建虛擬環(huán)境 16
第1章 Python語(yǔ)法基礎(chǔ) 17
1.1 基礎(chǔ)語(yǔ)法 17
1.2 基本輸入和輸出 19
1.3 變量的聲明和使用 22
1.4 數(shù)值類型 25
1.4.1 數(shù)值型數(shù)據(jù)類型 25
1.4.2 內(nèi)置數(shù)值型函數(shù) 27
1.4.3 算術(shù)運(yùn)算符 28
1.5 布爾類型 29
1.6 比較運(yùn)算符 32
1.7 字符串類型 32
1.7.1 字符串的表示和訪問(wèn) 32
1.7.2 字符串的運(yùn)算和內(nèi)置函數(shù) 34
1.7.3 字符串常用方法 37
1.7.4 格式化字符串 41
1.8 身份和成員運(yùn)算符 45
1.9 二進(jìn)制和位運(yùn)算符 46
習(xí)題 48
實(shí)驗(yàn) 51
實(shí)驗(yàn)1.1 輸出Python保留關(guān)鍵字 51
實(shí)驗(yàn)1.2 多行語(yǔ)句的實(shí)現(xiàn)方式 51
實(shí)驗(yàn)1.3 編寫單行和多行注釋 52
實(shí)驗(yàn)1.4 實(shí)現(xiàn)控制臺(tái)輸入和輸出 52
實(shí)驗(yàn)1.5 用sys.stdin實(shí)現(xiàn)輸入重定向 52
實(shí)驗(yàn)1.6 用sys.stdout實(shí)現(xiàn)輸出重定向 53
實(shí)驗(yàn)1.7 規(guī)范地定義并使用變量 53
實(shí)驗(yàn)1.8 查看變量的類型 53
實(shí)驗(yàn)1.9 變量賦值和刪除 54
第2章 程序流程控制 55
2.1 程序基本控制結(jié)構(gòu) 55
2.2 簡(jiǎn)單分支結(jié)構(gòu) 56
2.3 復(fù)雜分支結(jié)構(gòu) 58
2.4 while循環(huán) 61
2.5 for循環(huán) 63
2.6 循環(huán)嵌套和循環(huán)控制 64
2.7 聊天機(jī)器人的實(shí)現(xiàn)思路 67
2.8 聊天機(jī)器人的實(shí)現(xiàn)代碼 69
習(xí)題 71
實(shí)驗(yàn) 73
實(shí)驗(yàn)2.1 單分支結(jié)構(gòu) 73
實(shí)驗(yàn)2.2 雙分支結(jié)構(gòu) 74
實(shí)驗(yàn)2.3 多分支結(jié)構(gòu) 74
實(shí)驗(yàn)2.4 使用分支嵌套實(shí)現(xiàn)用戶登錄驗(yàn)證 75
實(shí)驗(yàn)2.5 使用分支嵌套實(shí)現(xiàn)公園門票折扣計(jì)算 76
實(shí)驗(yàn)2.6 多級(jí)分支嵌套語(yǔ)句的分離 77
實(shí)驗(yàn)2.7 簡(jiǎn)單分支語(yǔ)句組的應(yīng)用 77
第3章 常用組合數(shù)據(jù)類型 79
3.1 列表類型 79
3.2 列表操作 82
3.3 元組類型 88
3.4 字典類型 90
3.5 字典操作 92
3.6 集合類型 95
3.7 集合常見(jiàn)應(yīng)用 97
3.8 推導(dǎo)式 100
3.9 生成器和迭代器 104
習(xí)題 106
實(shí)驗(yàn) 109
實(shí)驗(yàn)3.1 常見(jiàn)列表運(yùn)算 109
實(shí)驗(yàn)3.2 字典操作常用函數(shù) 111
實(shí)驗(yàn)3.3 列表淺拷貝和深拷貝 113
第4章 簡(jiǎn)單應(yīng)用實(shí)例 115
4.1 軟件開發(fā)分層架構(gòu) 115
4.2 JSON格式預(yù)定義 119
4.3 PyMySQL數(shù)據(jù)庫(kù)讀取 121
4.4 MongoDB簡(jiǎn)介 125
4.5 人臉識(shí)別實(shí)現(xiàn)思路 129
4.6 人臉識(shí)別實(shí)現(xiàn)代碼 132
4.7 項(xiàng)目打包和發(fā)布 136
習(xí)題 137
實(shí)驗(yàn) 138
實(shí)驗(yàn)4.1 用JSON描述出版社和圖書列表 138
實(shí)驗(yàn)4.2 人臉識(shí)別技術(shù)代碼 143
實(shí)驗(yàn)4.3 用PyInstaller打包數(shù)據(jù) 148
第5章 函數(shù) 150
5.1 用戶自定義函數(shù) 150
5.2 函數(shù)實(shí)參傳遞 153
5.3 函數(shù)不定長(zhǎng)參數(shù) 157
5.4 函數(shù)調(diào)用和嵌套 161
5.5 變量的作用域 164
5.6 偏函數(shù)和高階函數(shù) 170
5.7 匿名函數(shù) 174
5.8 遞歸函數(shù) 179
5.9 閉包 181
5.10 裝飾器 185
習(xí)題 189
實(shí)驗(yàn) 191
實(shí)驗(yàn)5.1 定義和使用函數(shù) 191
實(shí)驗(yàn)5.2 lambda表達(dá)式中各種類型參數(shù)的使用 194
實(shí)驗(yàn)5.3 lambda表達(dá)式在推導(dǎo)式中的使用 196
實(shí)驗(yàn)5.4 lambda表達(dá)式應(yīng)用在函數(shù)式編程中 198
實(shí)驗(yàn)5.5 使用裝飾器實(shí)現(xiàn)日志應(yīng)用 199
第6章 常用模塊 201
6.1 Python程序的構(gòu)成 201
6.2 模塊的安裝和使用 202
6.3 sys模塊 206
6.4 隨機(jī)數(shù)模塊 208
6.5 日期和時(shí)間模塊 213
6.6 JSON模塊 218
6.7 JSON模塊案例 220
6.8 正則表達(dá)式模塊 223
習(xí)題 231
實(shí)驗(yàn) 231
實(shí)驗(yàn)6.1 常見(jiàn)模塊函數(shù) 231
實(shí)驗(yàn)6.2 生成隨機(jī)驗(yàn)證碼 233
實(shí)驗(yàn)6.3 隨機(jī)數(shù)模塊的常用函數(shù) 234
第7章 面向?qū)ο蟪绦蛟O(shè)計(jì) 239
7.1 類和對(duì)象 239
7.2 屬性和方法 242
7.3 訪問(wèn)限制 246
7.4 屬性管理器 250
7.5 封裝和繼承 253
7.6 函數(shù)重寫 258
7.7 運(yùn)算符重載 263
7.8 多態(tài)和枚舉類 267
習(xí)題 271
實(shí)驗(yàn) 273
實(shí)驗(yàn)7.1 定義類型并創(chuàng)建對(duì)象實(shí)例 273
實(shí)驗(yàn)7.2 實(shí)例屬性和方法的調(diào)用 274
實(shí)驗(yàn)7.3 通過(guò)多態(tài)實(shí)現(xiàn)二元運(yùn)算 277
第8章 網(wǎng)絡(luò)編程 280
8.1 網(wǎng)絡(luò)編程TCP 280
8.2 網(wǎng)絡(luò)編程UDP 284
8.3 網(wǎng)絡(luò)編程SocketServer 288
8.4 多線程 293
8.5 線程鎖 298
8.6 文件IO 303
8.7 Pathlib庫(kù) 306
習(xí)題 311
實(shí)驗(yàn) 313
實(shí)驗(yàn)8.1 網(wǎng)絡(luò)編程TCP 313
實(shí)驗(yàn)8.2 網(wǎng)絡(luò)編程UDP 316
實(shí)驗(yàn)8.3 實(shí)現(xiàn)SocketServer服務(wù)器端 320
第9章 應(yīng)用開發(fā) 326
9.1 Turtle圖形繪制 326
9.2 Excel文件讀寫 331
9.3 異常處理 336
9.4 軟件測(cè)試概述 339
9.5 單元測(cè)試和文檔測(cè)試 340
9.6 用Smtplib模塊發(fā)送郵件 344
9.7 用Poplib模塊收取郵件 345
9.8 PyGame小程序 348
習(xí)題 349
實(shí)驗(yàn) 350
實(shí)驗(yàn)9.1 用Turtle繪制圖形 350
實(shí)驗(yàn)9.2 用Smtplib模塊發(fā)送郵件 353
實(shí)驗(yàn)9.3 用Poplib模塊收取郵件 357
實(shí)驗(yàn)9.4 用PyGame模塊創(chuàng)建游戲窗體 363