Python程序設計基礎
蔡永銘
相關主題
商品描述
本書較為全面地介紹Python程序設計基礎。全書共13章,主要包括Python簡介、基礎語法知識、條件、循環、字符串、文件、列表、元組、函數、字典、異常和異常處理、圖形用戶界面、面向對象程序設計、數據庫支持、程序開發進階等。每章後面都提供習題和實戰作業,通過練習和操作實踐,幫助讀者鞏固所學的內容。
本書可作為普通高等學校、高職高專院校相關專業電腦程序設計基礎的教材,也可以作為程序設計培訓班教材,並適合電腦編程的專業人員和廣大電腦愛好者自學使用。
作者簡介
蔡永銘,教授,中山大學生物醫學工程博士畢業,美國UTD計算機系訪問學者一年師從堵丁柱教授。
現任廣東藥科大學醫藥信息工程學院副院長(主持工作),南方生物醫藥大數據工程中心主任。
主要研究領域包括複雜網絡藥理學模型、醫藥衛生數據挖掘和移動網絡大數據處理。
目錄大綱
第1章Python簡介1
1.1認識Python 1
1.1.1什麼是Python語言1
1.1.2 Python語言的優點與缺點2
1.1.3為什麼選擇Python語言3
1.2 Python的安裝4
1.2.1 Windows環境下安裝4
1.2.2 Linux和UNIX環境下安裝6
本章小結7
練習題7
實戰作業7
第2章基礎語法知識8
2.1數字和表達式8
2.2變量10
2.3語句11
2.4獲取用戶輸入11
2.5函數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單引號字符串和轉義引號16
2.8.2拼接字符串17
2.8.3字符串str和repr 18
2.8.4 input 19
2.8.5長字符串、原始字符串和Unicode 19
本章小結21
練習題22
第3章條件、循環和其他語句23
3.1 print語句的應用23
3.2賦值語句24
3.2.1序列解包25
3.2.2鍊式賦值25
3.2.3增量賦值25
3.3代碼塊與縮進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循環語句30
3.5.1 while循環31
3.5.2 for循環32
3.5.3 Python循環嵌套34
3.5.4跳出循環(break與continue) 34
3.5.5循環中的else子句35
3.5.6綜合應用36
本章小結38
練習題38
實戰作業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複製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字符串轉義字符54
4 .3常用字符串函數和方法55
本章小結61
練習題61
實戰作業62
第5章文件64
5.1文件和文件路徑65
5.1.1 os.path.join()和os.mkdir() 66
5.1.2絕對路徑和相對路徑66
5.1.3查看當前目錄os.getcwd() 67
5.1.4改變當前目錄os.chdir() 67
5.1.5 os.remove()及os.rmdir() 67
5.1.6 rename()函數67
5.1.7表示當前目錄的“.”和表示上級目錄的“..” 67
5.1.8 os.walk()方法68
5.2文件的讀寫69
5.2.1 open()函數69
5.2.2 read()方法70
5.2.3 write()方法70
5.2.4通用新行格式72
5.3文件定位72
5.3.1 tell()函數73
5.3.2 seek()函數73
5.4文件、目錄相關的函數及綜合應用示例73
5.4.1 file對象函數73
5.4.2目錄常用函數74
5.4.3 os模塊綜合應用示例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應用實例78
本章小結80
練習題80
實戰作業81
第6章列表和元組83
6.1序列概覽85
6.2通用序列操作85
6 .2.1索引86
6.2.2分片88
6.2.3列表的運算90
6.2.4列表的常用函數91
6.3列表對象92
6.3.1基本的列表操作92
6 .3.2列表方法93
6.3.3列表解析96
6.4元組:不可變序列96
6.4.1 tuple函數97
6.4.2基本元組操作97
6.4.3為什麼需要元組98
6.5列表應用舉例:文件分析98
本章小結101
練習題101
實戰作業102
第7章函數104
7.1什麼是函數104
7.2參數傳遞106
7.3參數的類型107
7.3.1必備參數107
7.3.2關鍵字參數108
7.3.3默認參數108
7.3.4不定長參數109
7. 4匿名函數110
7.5變量作用域111
7.6函數的屬性113
7.7 Python中的main函數114
7.8 Python的zip函數115
7.9常見內置函數116
7.9.1與數學相關的函數116
7.9.2類型轉換函數117
7.9.3相關操作函數118
7.10函數的應用舉例119
本章小結124
練習題124
實戰作業125
第8章字典126
8.1什麼是字典126
8.2字典的創建和使用127
8.2.1直接創建字典127
8.2.2通過dict函數創建字典128
8.2.3字典的修改和刪除128
8.2.4字典的遍歷129
8 .3字典的基本操作130
8.3.1 get函數:訪問字典成員130
8.3.2 copy函數:返回一個具有相同鍵值的新字典131
8.3.3 pop函數:刪除字典中對應的鍵和值132
8.3.4 Fromkeys函數:用給定的鍵建立新的字典132
8.3.5 setdefault函數:獲取與給定鍵相關聯的值132
8.3.6 update函數:用一個字典更新另外一個字典133
8.3.7關鍵字in的應用133
8.4字典的格式化字符串134
8.5字典的排序135
8.5 .1 sorted函數按key值對字典排序135
8.5.2 sorted函數按value值對字典排序135
8.6字典的實例應用136
本章小結140
練習題140
實戰作業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
本章小結148
練習題148
第10章圖形用戶界面151
10.1豐富的平台151
10. 2下載和安裝wxPython 152
10.3創建示例GUI應用程序152
10.3.1 Hello World! 152
10.3.2窗口154
10.3.3控件:面板、標籤、菜單欄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
本章小結172
練習題173
實戰作業173
第11章面向對象程序設計174
11.1面向對象程序設計思想175
11 .1.1面向對象的基本概念175
11.1.2面向對象設計177
11.2類和對象177
11.2.1創建類177
11.2.2創建對象178
11.3屬性和數據178
11 .3.1類屬性178
11.3.2實例屬性179
11.3.3類屬性與實例屬性的聯繫180
11.3.4私有屬性與公有屬性180
11.3.5自定義屬性181
11.3.6 self的作用182
11.4方法182
11.4.1方法的聲明和調用182
11.4.2實例方法、類方法和靜態方法183
11.4.3綁定方法和非綁定方法185
11.4.4私有方法與公有方法187
11.4.5構造方法與析構方法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多態和封裝193
11.6.1多態性193
11.6.2封裝和私有化194
11.7定制類196
11.8迭代器198
11.9生成器199
11.10綜合示例200
本章小結202
練習題202
實戰作業203
第12章數據庫支持204
12.1數據庫概述205
12.2 Python數據庫編程接口(DB-API) 205
12.2.1 DB-API簡介與統一操作模式205
12.2.2模塊接口(Module Interface) 206
12.2.3 Connection對象207
12.2.4 Cursor游標對象208
12.3 MySQL關係數據庫操作208
12.3.1 PyMySQL下載與安裝209
12.3.2 PyMySQL基本操作209
12.4 SQLite數據庫與操作212
12.4.1 SQLite介紹與安裝212
12.4.2 SQLite-Python接口及操作214
本章小結217
練習題218
實戰作業218
第13章程序開發進階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構造分類樣本222
13.4設計分類算法223
13.5詳細設計224
13.5.1文件格式224
13.5.2存儲格式225
13 .5.3 loadDataset函數225
13.5.4 getNeightbors函數226
13.5.5 getResponse函數228
13.5.6 getAccuracy函數229
13.5.7總體運行229
13.5.8不足之處232
13.6其他有趣的算法問題232
13.6.1乳腺癌分類問題232
13.6.2葡萄酒品質分類234
本章小結235
練習題235
實戰作業235