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