本書較為全面地介紹Python程序設(shè)計基礎(chǔ)。全書共13章,主要包括Python簡介、基礎(chǔ)語法知識、條件、循環(huán)、字符串、文件、列表、元組、函數(shù)、字典、異常和異常處理、圖形用戶界面、面向?qū)ο蟪绦蛟O(shè)計、數(shù)據(jù)庫支持、程序開發(fā)進(jìn)階等。每章后面都提供習(xí)題和實戰(zhàn)作業(yè),通過練習(xí)和操作實踐,幫助讀者鞏固所學(xué)的內(nèi)容。
本書可作為普通高等學(xué)校、高職高專院校相關(guān)專業(yè)計算機(jī)程序設(shè)計基礎(chǔ)的教材,也可以作為程序設(shè)計培訓(xùn)班教材,并適合計算機(jī)編程的專業(yè)人員和廣大計算機(jī)愛好者自學(xué)使用。
1.每章一個引例,以實際問題引出相關(guān)的概念
2.體現(xiàn)計算機(jī)科學(xué)的思想和方法,突出計算思維的訓(xùn)練
3.每章一個大案例, 是對本章節(jié)一個綜合運用
4.大數(shù)據(jù)人才培養(yǎng)規(guī)劃教材
蔡永銘,教授,中山大學(xué)生物醫(yī)學(xué)工程博士畢業(yè),美國UTD計算機(jī)系訪問學(xué)者一年師從堵丁柱教授,F(xiàn)任廣東藥科大學(xué)醫(yī)藥信息工程學(xué)院副院長(主持工作),南方生物醫(yī)藥大數(shù)據(jù)工程中心主任。主要研究領(lǐng)域包括復(fù)雜網(wǎng)絡(luò)藥理學(xué)模型、醫(yī)藥衛(wèi)生數(shù)據(jù)挖掘和移動網(wǎng)絡(luò)大數(shù)據(jù)處理。
第 1章 Python簡介 1
1.1 認(rèn)識Python 1
1.1.1 什么是Python語言 1
1.1.2 Python語言的優(yōu)點與缺點 2
1.1.3 為什么選擇Python語言 3
1.2 Python的安裝 4
1.2.1 Windows環(huán)境下安裝 4
1.2.2 Linux和UNIX環(huán)境下安裝 6
本章小結(jié) 7
練習(xí)題 7
實戰(zhàn)作業(yè) 7
第 2章 基礎(chǔ)語法知識 8
2.1 數(shù)字和表達(dá)式 8
2.2 變量 10
2.3 語句 11
2.4 獲取用戶輸入 11
2.5 函數(shù) 12
2.6 模塊 13
2.7 程序的運行 14
2.7.1 通過命令提示符運行Python腳本 14
2.7.2 讓腳本像普通程序一樣運行 14
2.7.3 注釋 15
2.8 字符串 16
2.8.1 單引號字符串和轉(zhuǎn)義引號 16
2.8.2 拼接字符串 17
2.8.3 字符串str和repr 18
2.8.4 input 19
2.8.5 長字符串、原始字符串和Unicode 19
本章小結(jié) 21
練習(xí)題 22
第3章 條件、循環(huán)和其他語句 23
3.1 print語句的應(yīng)用 23
3.2 賦值語句 24
3.2.1 序列解包 25
3.2.2 鏈?zhǔn)劫x值 25
3.2.3 增量賦值 25
3.3 代碼塊與縮進(jìn) 26
3.4 條件語句 26
3.4.1 布爾變量 26
3.4.2 if 語句 26
3.4.3 else子句 27
3.4.4 elif子句 27
3.4.5 嵌套條件語句 29
3.5 循環(huán)語句 30
3.5.1 while循環(huán) 31
3.5.2 for循環(huán) 32
3.5.3 Python 循環(huán)嵌套 34
3.5.4 跳出循環(huán)(break與continue) 34
3.5.5 循環(huán)中的else子句 35
3.5.6 綜合應(yīng)用 36
本章小結(jié) 38
練習(xí)題 38
實戰(zhàn)作業(yè) 41
第4章 字符串 43
4.1 字符串的基本操作 43
4.1.1 字符串的表示 43
4.1.2 索引 44
4.1.3 分片 45
4.1.4 合并 48
4.1.5 復(fù)制 48
4.1.6 截取 49
4.1.7 比較 50
4.1.8 長度與最值 51
4.1.9 in運算符 51
4.2 字符串格式化 52
4.2.1 字符串的格式化輸出 52
4.2.2 寬度和精度 53
4.2.3 字符串轉(zhuǎn)義字符 54
4.3 常用字符串函數(shù)和方法 55
本章小結(jié) 61
練習(xí)題 61
實戰(zhàn)作業(yè) 62
第5章 文件 64
5.1 文件和文件路徑 65
5.1.1 os.path.join()和os.mkdir() 66
5.1.2 絕對路徑和相對路徑 66
5.1.3 查看當(dāng)前目錄os.getcwd() 67
5.1.4 改變當(dāng)前目錄os.chdir() 67
5.1.5 os.remove()及os.rmdir() 67
5.1.6 rename()函數(shù) 67
5.1.7 表示當(dāng)前目錄的“.”和表示上級目錄的“..” 67
5.1.8 os.walk()方法 68
5.2 文件的讀寫 69
5.2.1 open()函數(shù) 69
5.2.2 read()方法 70
5.2.3 write()方法 70
5.2.4 通用新行格式 72
5.3 文件定位 72
5.3.1 tell()函數(shù) 73
5.3.2 seek()函數(shù) 73
5.4 文件、目錄相關(guān)的函數(shù)及綜合應(yīng)用示例 73
5.4.1 file對象函數(shù) 73
5.4.2 目錄常用函數(shù) 74
5.4.3 os模塊綜合應(yīng)用示例 75
5.5 CSV文件操作 76
5.5.1 CSV模塊 76
5.5.2 CSV Reader 78
5.5.3 CSV Writer 78
5.5.4 CSV應(yīng)用實例 78
本章小結(jié) 80
練習(xí)題 80
實戰(zhàn)作業(yè) 81
第6章 列表和元組 83
6.1 序列概覽 85
6.2 通用序列操作 85
6.2.1 索引 86
6.2.2 分片 88
6.2.3 列表的運算 90
6.2.4 列表的常用函數(shù) 91
6.3 列表對象 92
6.3.1 基本的列表操作 92
6.3.2 列表方法 93
6.3.3 列表解析 96
6.4 元組:不可變序列 96
6.4.1 tuple函數(shù) 97
6.4.2 基本元組操作 97
6.4.3 為什么需要元組 98
6.5 列表應(yīng)用舉例:文件分析 98
本章小結(jié) 101
練習(xí)題 101
實戰(zhàn)作業(yè) 102
第7章 函數(shù) 104
7.1 什么是函數(shù) 104
7.2 參數(shù)傳遞 106
7.3 參數(shù)的類型 107
7.3.1 必備參數(shù) 107
7.3.2 關(guān)鍵字參數(shù) 108
7.3.3 默認(rèn)參數(shù) 108
7.3.4 不定長參數(shù) 109
7.4 匿名函數(shù) 110
7.5 變量作用域 111
7.6 函數(shù)的屬性 113
7.7 Python中的main函數(shù) 114
7.8 Python的zip函數(shù) 115
7.9 常見內(nèi)置函數(shù) 116
7.9.1 與數(shù)學(xué)相關(guān)的函數(shù) 116
7.9.2 類型轉(zhuǎn)換函數(shù) 117
7.9.3 相關(guān)操作函數(shù) 118
7.10 函數(shù)的應(yīng)用舉例 119
本章小結(jié) 124
練習(xí)題 124
實戰(zhàn)作業(yè) 125
第8章 字典 126
8.1 什么是字典 126
8.2 字典的創(chuàng)建和使用 127
8.2.1 直接創(chuàng)建字典 127
8.2.2 通過dict函數(shù)創(chuàng)建字典 128
8.2.3 字典的修改和刪除 128
8.2.4 字典的遍歷 129
8.3 字典的基本操作 130
8.3.1 get函數(shù):訪問字典成員 130
8.3.2 copy函數(shù):返回一個具有相同鍵值的新字典 131
8.3.3 pop函數(shù):刪除字典中對應(yīng)的鍵和值 132
8.3.4 Fromkeys函數(shù):用給定的鍵建立新的字典 132
8.3.5 setdefault函數(shù):獲取與給定鍵相關(guān)聯(lián)的值 132
8.3.6 update函數(shù):用一個字典更新另外一個字典 133
8.3.7 關(guān)鍵字in的應(yīng)用 133
8.4 字典的格式化字符串 134
8.5 字典的排序 135
8.5.1 sorted函數(shù)按key值對字典排序 135
8.5.2 sorted函數(shù)按value值對字典排序 135
8.6 字典的實例應(yīng)用 136
本章小結(jié) 140
練習(xí)題 140
實戰(zhàn)作業(yè) 140
第9章 異常和異常處理 142
9.1 錯誤與異常 143
9.1.1 語法錯誤 143
9.1.2 異!143
9.2 異常處理 144
9.2.1 異常處理語法 144
9.2.2 常見異常處理示例 145
9.3 拋出異常和自定義異!146
9.3.1 如何拋出異常 146
9.3.2 用戶自定義異!147
本章小結(jié) 148
練習(xí)題 148
第 10章 圖形用戶界面 151
10.1 豐富的平臺 151
10.2 下載和安裝wxPython 152
10.3 創(chuàng)建示例GUI應(yīng)用程序 152
10.3.1 Hello World! 152
10.3.2 窗口 154
10.3.3 控件:面板、標(biāo)簽、菜單欄 154
10.3.4 案例制作:簡易編輯器 157
10.3.5 更智能的布局 159
10.3.6 最基本的Sizer:GridSizer 160
10.3.7 FlexGridSizer 162
10.3.8 GridBagSizer 164
10.3.9 BoxSizer 165
10.3.10 StaticBoxSizer 168
10.3.11 案例制作:用戶收件信息錄入界面 169
10.4 初步了解tkinter 172
本章小結(jié) 172
練習(xí)題 173
實戰(zhàn)作業(yè) 173
第 11章 面向?qū)ο蟪绦蛟O(shè)計 174
11.1 面向?qū)ο蟪绦蛟O(shè)計思想 175
11.1.1 面向?qū)ο蟮幕靖拍睢?75
11.1.2 面向?qū)ο笤O(shè)計 177
11.2 類和對象 177
11.2.1 創(chuàng)建類 177
11.2.2 創(chuàng)建對象 178
11.3 屬性和數(shù)據(jù) 178
11.3.1 類屬性 178
11.3.2 實例屬性 179
11.3.3 類屬性與實例屬性的聯(lián)系 180
11.3.4 私有屬性與公有屬性 180
11.3.5 自定義屬性 181
11.3.6 self的作用 182
11.4 方法 182
11.4.1 方法的聲明和調(diào)用 182
11.4.2 實例方法、類方法和靜態(tài)方法 183
11.4.3 綁定方法和非綁定方法 185
11.4.4 私有方法與公有方法 187
11.4.5 構(gòu)造方法與析構(gòu)方法 187
11.4.6 特殊方法 189
11.5 繼承 189
11.5.1 概念 189
11.5.2 單繼承 189
11.5.3 繼承與抽象 190
11.5.4 覆蓋方法 191
11.5.5 多重繼承 192
11.6 多態(tài)和封裝 193
11.6.1 多態(tài)性 193
11.6.2 封裝和私有化 194
11.7 定制類 196
11.8 迭代器 198
11.9 生成器 199
11.10 綜合示例 200
本章小結(jié) 202
練習(xí)題 202
實戰(zhàn)作業(yè) 203
第 12章 數(shù)據(jù)庫支持 204
12.1 數(shù)據(jù)庫概述 205
12.2 Python數(shù)據(jù)庫編程接口(DB-API) 205
12.2.1 DB-API簡介與統(tǒng)一操作模式 205
12.2.2 模塊接口(Module Interface) 206
12.2.3 Connection對象 207
12.2.4 Cursor游標(biāo)對象 208
12.3 MySQL關(guān)系數(shù)據(jù)庫操作 208
12.3.1 PyMySQL下載與安裝 209
12.3.2 PyMySQL基本操作 209
12.4 SQLite數(shù)據(jù)庫與操作 212
12.4.1 SQLite介紹與安裝 212
12.4.2 SQLite-Python接口及操作 214
本章小結(jié) 217
練習(xí)題 218
實戰(zhàn)作業(yè) 218
第 13章 程序開發(fā)進(jìn)階 219
13.1 簡介 220
13.2 分治算法 220
13.3 鳶尾花的分類 221
13.3.1 KNN(K-NearestNeighbor)算法介紹 221
13.3.2 K個最近鄰居 222
13.3.3 構(gòu)造分類樣本 222
13.4 設(shè)計分類算法 223
13.5 詳細(xì)設(shè)計 224
13.5.1 文件格式 224
13.5.2 存儲格式 225
13.5.3 loadDataset函數(shù) 225
13.5.4 getNeightbors函數(shù) 226
13.5.5 getResponse函數(shù) 228
13.5.6 getAccuracy函數(shù) 229
13.5.7 總體運行 229
13.5.8 不足之處 232
13.6 其他有趣的算法問題 232
13.6.1 乳腺癌分類問題 232
13.6.2 葡萄酒品質(zhì)分類 234
本章小結(jié) 235
練習(xí)題 235
實戰(zhàn)作業(yè) 235