本書內容涵蓋了Python核心編程技術的主要方面,包括Python語言的基礎知識、結構化程序設計方法、常用組合數(shù)據(jù)類型,還重點介紹了6方面的內容:① 軟件系統(tǒng)開發(fā)三層式結構的原理,JSON文件、XML文件的格式及使用,MySQL數(shù)據(jù)庫及PyMySQL庫的使用、MongoDB數(shù)據(jù)庫及PyMongo庫的使用;② 函數(shù)式編程及偏函數(shù)、高階函數(shù)、閉包和裝飾器的使用;③ Python模塊化編程思想,自定義庫、標準庫的使用,sys庫、隨機函數(shù)庫、日期和時間庫、正則表達式庫等典型第三方庫的安裝和使用;④ 面向對象的編程思想及封裝、繼承、多態(tài)的概念;⑤ 網(wǎng)絡編程;⑥ 典型應用場景介紹。 本書有300多個小例子,貼近生活,簡單易懂,還包括多個綜合實例。本書內容豐富,兼顧了廣度和深度,低門檻,高輸出,既照顧到零基礎的初學者,也關注有較高編程目標的信息類學生。 本書適合作為各類大專院校計算機及相關專業(yè)學生的教材,也可作為對Python感興趣的科技人員、計算機愛好者及各類自學人員的參考書。
謝紅霞,女,浙大城市學院教師,長期從事計算機基礎教學,主講課程《大學計算機應用基礎》《Python程序設計基礎》《Python數(shù)據(jù)分析基礎》等,多次榮獲學校教學比賽獎和教學質量獎。積極開展教學研究工作,主持浙江省高等教育教學改革研究項目"基于計算思維的大學計算機課程教學改革及研究,主持浙江省高等教育課堂教學改革研究項目"基于多級任務驅動的《ACCESS數(shù)據(jù)庫應用》課堂教學改革,主持教育部產(chǎn)學合作協(xié)同育人項目"案例驅動的Python數(shù)據(jù)分析課程教學設計。
目 錄
緒論 1
0.1 Python入門簡介 1
0.2 Python運行模式 4
0.3 虛擬環(huán)境 7
0.4 開發(fā)工具 8
習題 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語法基礎 17
1.1 基礎語法 17
1.2 基本輸入和輸出 19
1.3 變量的聲明和使用 22
1.4 數(shù)值類型 25
1.4.1 數(shù)值型數(shù)據(jù)類型 25
1.4.2 內置數(shù)值型函數(shù) 27
1.4.3 算術運算符 28
1.5 布爾類型 29
1.6 比較運算符 32
1.7 字符串類型 32
1.7.1 字符串的表示和訪問 32
1.7.2 字符串的運算和內置函數(shù) 34
1.7.3 字符串常用方法 37
1.7.4 格式化字符串 41
1.8 身份和成員運算符 45
1.9 二進制和位運算符 46
習題 48
實驗 51
實驗1.1 輸出Python保留關鍵字 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 程序基本控制結構 55
2.2 簡單分支結構 56
2.3 復雜分支結構 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
習題 71
實驗 73
實驗2.1 單分支結構 73
實驗2.2 雙分支結構 74
實驗2.3 多分支結構 74
實驗2.4 使用分支嵌套實現(xiàn)用戶登錄驗證 75
實驗2.5 使用分支嵌套實現(xiàn)公園門票折扣計算 76
實驗2.6 多級分支嵌套語句的分離 77
實驗2.7 簡單分支語句組的應用 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 集合常見應用 97
3.8 推導式 100
3.9 生成器和迭代器 104
習題 106
實驗 109
實驗3.1 常見列表運算 109
實驗3.2 字典操作常用函數(shù) 111
實驗3.3 列表淺拷貝和深拷貝 113
第4章 簡單應用實例 115
4.1 軟件開發(fā)分層架構 115
4.2 JSON格式預定義 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
習題 137
實驗 138
實驗4.1 用JSON描述出版社和圖書列表 138
實驗4.2 人臉識別技術代碼 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ù)調用和嵌套 161
5.5 變量的作用域 164
5.6 偏函數(shù)和高階函數(shù) 170
5.7 匿名函數(shù) 174
5.8 遞歸函數(shù) 179
5.9 閉包 181
5.10 裝飾器 185
習題 189
實驗 191
實驗5.1 定義和使用函數(shù) 191
實驗5.2 lambda表達式中各種類型參數(shù)的使用 194
實驗5.3 lambda表達式在推導式中的使用 196
實驗5.4 lambda表達式應用在函數(shù)式編程中 198
實驗5.5 使用裝飾器實現(xiàn)日志應用 199
第6章 常用模塊 201
6.1 Python程序的構成 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
習題 231
實驗 231
實驗6.1 常見模塊函數(shù) 231
實驗6.2 生成隨機驗證碼 233
實驗6.3 隨機數(shù)模塊的常用函數(shù) 234
第7章 面向對象程序設計 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
習題 271
實驗 273
實驗7.1 定義類型并創(chuàng)建對象實例 273
實驗7.2 實例屬性和方法的調用 274
實驗7.3 通過多態(tài)實現(xiàn)二元運算 277
第8章 網(wǎng)絡編程 280
8.1 網(wǎng)絡編程TCP 280
8.2 網(wǎng)絡編程UDP 284
8.3 網(wǎng)絡編程SocketServer 288
8.4 多線程 293
8.5 線程鎖 298
8.6 文件IO 303
8.7 Pathlib庫 306
習題 311
實驗 313
實驗8.1 網(wǎng)絡編程TCP 313
實驗8.2 網(wǎng)絡編程UDP 316
實驗8.3 實現(xiàn)SocketServer服務器端 320
第9章 應用開發(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
習題 349
實驗 350
實驗9.1 用Turtle繪制圖形 350
實驗9.2 用Smtplib模塊發(fā)送郵件 353
實驗9.3 用Poplib模塊收取郵件 357
實驗9.4 用PyGame模塊創(chuàng)建游戲窗體 363