Python程序設計實用教程
劉華春、郭俊、徐草草
商品描述
目錄大綱
目錄
資源下載
第1章 Python語言概述 ……………………………………1
1.1 Python概述…………………………………………………………2
1.1.1 Python的產生和發展 ……………………………………2
1.1.2 Python語言的特點 ………………………………………2
1.1.3 Python語言的應用領域 …………………………………3
1.2 Python的版本和開發環境…………………………………………4
1.2.1 Python語言的版本 ………………………………………4
1.2.2 Python的下載和安裝 ……………………………………5
1.2.3 Python語言的集成開發環境 ……………………………8
1.3 程序設計基本方法……………………………………………………15
1.3.1 Python程序編寫方法 ……………………………………15
1.3.2 IPO程序編寫方法 …………………………………………16
1.3.3 面向過程和麵向對象 ……………………………………17
1.4 Python的模塊、包與庫……………………………………………18
1.4.1 Python的模塊及其導入方式 ……………………………18
1.4.2 Python的包及其定義 ……………………………………19
1.4.3 Python的庫及其安裝 ……………………………………20
1.5 使用幫助………………………………………………………………20
1.6 Python模塊的__name__屬性……………………………………20
1.7 本章小結………………………………………………………………22
習題…………………………………………………………………………22
第2章 Python的基本語法 ………………………………24
2.1 Python程序的格式…………………………………………………25
2.1.1 Python的標識符 …………………………………………25
2.1.2 Python標識符的命名規則 ………………………………25
2.2 Python的行與縮進…………………………………………………26
2.2.1 Python的行 ……………………………………………………………………27
2.2.2 Python的縮進規律 ……………………………………………………………27
2.3 Python的基本數據類型…………………………………………………………………27
2.3.1 Python數據類型概述 …………………………………………………………28
2.3.2 Python的數字類型 ……………………………………………………………28
2.3.3 Python的字節類型 ……………………………………………………………29
2.4 Python的運算符和表達式………………………………………………………………30
2.4.1 Python的變量 …………………………………………………………………30
2.4.2 Python的運算符 ………………………………………………………………31
2.4.3 運算符優先級 …………………………………………………………………38
2.4.4 賦值語句 ………………………………………………………………………39
2.4.5 Python的表達式 ………………………………………………………………40
2.5 Python的基本輸入輸出函數……………………………………………………………41
2.5.1 input()函數 ……………………………………………………………………41
2.5.2 eval()函數 ………………………………………………………………………41
2.5.3 print()函數 ………………………………………………………………………42
2.6 註釋…………………………………………………………………………………………43
2.7 本章小結……………………………………………………………………………………44
習題………………………………………………………………………………………………44
第3章 程序控制與循環………………………………………………………46
3.1 程序設計流程概述…………………………………………………………………………47
3.1.1 算法 ……………………………………………………………………………47
3.1.2 程序流程圖 ……………………………………………………………………47
3.1.3 三種控制結構 …………………………………………………………………48
3.2 if判斷語句…………………………………………………………………………………49
3.3 while循環語句……………………………………………………………………………53
3.4 for循環語句………………………………………………………………………………54
3.5 循環的中斷…………………………………………………………………………………55
3.5.1 break語句 ………………………………………………………………………55
3.5.2 continue語句 ……………………………………………………………………56
3.6 遍歷循環……………………………………………………………………………………57
3.6.1 內置函數range() ………………………………………………………………57
3.6.2 循環嵌套 ………………………………………………………………………58
3.6.3 pass語句 ………………………………………………………………………59
3.7 迭代器與生成器……………………………………………………………………………60
3.7.1 迭代器 …………………………………………………………………………60
3.7.2 生成器 …………………………………………………………………………61
3.8 本章小結……………………………………………………………………………………62
目錄
V
習題………………………………………………………………………………………………62
第4章 列表與元組……………………………………………………………64
4.1 序列概述……………………………………………………………………………………65
4.1.1 索引 ……………………………………………………………………………65
4.1.2 切片 ……………………………………………………………………………66
4.1.3 序列相加 ………………………………………………………………………66
4.2 序列的特性…………………………………………………………………………………67
4.2.1 序列重復 ………………………………………………………………………67
4.2.2 成員資格 ………………………………………………………………………67
4.2.3 序列比較 ………………………………………………………………………68
4.2.4 序列排序 ………………………………………………………………………69
4.2.5 長度、最小值和最大值 ………………………………………………………70
4.3 列表…………………………………………………………………………………………70
4.3.1 列表的創建 ……………………………………………………………………70
4.3.2 列表元素的添加 ………………………………………………………………71
4.3.3 列表元素的刪除 ………………………………………………………………72
4.3.4 列表元素的訪問 ………………………………………………………………74
4.3.5 成員資格判斷 …………………………………………………………………75
4.3.6 切片操作 ………………………………………………………………………76
4.3.7 列表排序 ………………………………………………………………………78
4.3.8 列表推導式 ……………………………………………………………………78
4.4 元組…………………………………………………………………………………………81
4.4.1 元組的創建與刪除 ……………………………………………………………81
4.4.2 元組的訪問和遍歷 ……………………………………………………………82
4.4.3 元組與列表的區別 ……………………………………………………………83
4.4.4 元組的操作 ……………………………………………………………………83
4.5 本章小結……………………………………………………………………………………85
習題………………………………………………………………………………………………85
第5章 字典與集合……………………………………………………………88
5.1 字典…………………………………………………………………………………………89
5.1.1 字典的創建與刪除 ……………………………………………………………89
5.1.2 字典元素的訪問 ………………………………………………………………91
5.1.3 字典的操作函數 ………………………………………………………………93
5.1.4 字典的遍歷 ……………………………………………………………………96
5.2 集合…………………………………………………………………………………………97
5.2.1 集合的創建與使用 ……………………………………………………………97
5.2.2 集合的運算 ……………………………………………………………………98
5.2.3 集合的基本操作 ………………………………………………………………98
5.2.4 不可變集合 ……………………………………………………………………99
5.3 本章小結……………………………………………………………………………………100
習題………………………………………………………………………………………………100
第6章 函數和代碼復用………………………………………………………103
6.1 函數的定義及使用…………………………………………………………………………104
6.2 函數的參數…………………………………………………………………………………104
6.2.1 位置參數 ………………………………………………………………………104
6.2.2 默認參數 ………………………………………………………………………105
6.2.3 關鍵字參數 ……………………………………………………………………106
6.2.4 可變參數 ………………………………………………………………………107
6.2.5 序列解包 ………………………………………………………………………109
6.2.6 函數的返回值 …………………………………………………………………110
6.3 變量的作用域………………………………………………………………………………111
6.3.1 全局變量 ………………………………………………………………………111
6.3.2 局部變量 ………………………………………………………………………112
6.3.3 global關鍵字 ……………………………………………………………………112
6.4 Python常用的內置函數…………………………………………………………………113
6.5 匿名函數……………………………………………………………………………………115
6.6 函數的遞歸…………………………………………………………………………………116
6.7 閉包與裝飾器………………………………………………………………………………117
6.8 本章小結……………………………………………………………………………………119
習題………………………………………………………………………………………………119
第7章 面向對象程序設計……………………………………………………121
7.1 面向對象概述………………………………………………………………………………122
7.1.1 面向過程和麵向對象 …………………………………………………………122
7.1.2 面向對象的基本概念 …………………………………………………………123
7.2 類與對象……………………………………………………………………………………124
7.2.1 類的定義 ………………………………………………………………………124
7.2.2 對象的創建與使用 ……………………………………………………………125
7.2.3 self參數和__init__()方法 ……………………………………………………127
7.2.4 __del__()方法 …………………………………………………………………128
7.3 屬性與方法…………………………………………………………………………………129
7.3.1 屬性 ……………………………………………………………………………129
7.3.2 方法 ……………………………………………………………………………132
7.4 繼承和多態…………………………………………………………………………………134
7.4.1 繼承 ……………………………………………………………………………134
7.4.2 多態 ……………………………………………………………………………136
7.5 訪問限制……………………………………………………………………………………137
7.6 本章小結……………………………………………………………………………………139
習題………………………………………………………………………………………………139
第8章 文件操作與數據組織…………………………………………………143
8.1 文件基礎知識………………………………………………………………………………144
8.2 文件的基本操作……………………………………………………………………………144
8.3 數據文件的讀寫……………………………………………………………………………145
8.3.1 文本文件的讀寫 ………………………………………………………………146
8.3.2 二進制文件的讀寫 ……………………………………………………………147
8.3.3 CSV文件的讀寫 ………………………………………………………………148
8.3.4 Excel文件的讀寫 ………………………………………………………………150
8.3.5 JSON文件的讀寫 ………………………………………………………………152
8.4 文件和文件夾操作…………………………………………………………………………154
8.4.1 文件操作 ………………………………………………………………………154
8.4.2 文件相關屬性訪問 ……………………………………………………………155
8.4.3 文件夾操作 ……………………………………………………………………155
8.4.4 遍歷文件夾 ……………………………………………………………………156
8.5 數據組織……………………………………………………………………………………156
8.5.1 一維數據 ………………………………………………………………………156
8.5.2 二維數據 ………………………………………………………………………157
8.5.3 高維數據 ………………………………………………………………………158
8.6 本章小結……………………………………………………………………………………158
習題………………………………………………………………………………………………158
第9章 字符串和文本處理……………………………………………………160
9.1 字符串………………………………………………………………………………………161
9.1.1 字符串的定義 …………………………………………………………………161
9.1.2 字符串的基本操作 ……………………………………………………………161
9.1.3 字符串常用方法 ………………………………………………………………163
9.1.4 字符串的格式化format()方法 …………………………………………………166
9.2 正則表達式…………………………………………………………………………………168
9.2.1 正則表達式的模式 ……………………………………………………………168
9.2.2 正則表達式的編譯 ……………………………………………………………169
9.3 文本處理……………………………………………………………………………………170
9.3.1 文本統計 ………………………………………………………………………170
9.3.2 文本相似度 ……………………………………………………………………172
9.4 本章小結……………………………………………………………………………………173
習題………………………………………………………………………………………………174
第10章 異常處理 ……………………………………………………………175
10.1 異常概述…………………………………………………………………………………176
10.2 Python異常處理結構……………………………………………………………………176
10.2.1 try...except...語句 ……………………………………………………………176
10.2.2 多個except的try語句 ………………………………………………………178
10.2.3 try...except...finally語句 ………………………………………………………178
10.3 自定義異常………………………………………………………………………………179
10.4 斷言與上下文管理………………………………………………………………………180
10.5 本章小結…………………………………………………………………………………181
習題………………………………………………………………………………………………181
第11章 Tkinter圖形用戶界面 ………………………………………………183
11.1 Python的常用GUI工具庫………………………………………………………………184
11.2 Tkinter類的方法…………………………………………………………………………185
11.3 Tkinter 窗口控件佈局……………………………………………………………………186
11.3.1 pack()方法 ……………………………………………………………………186
11.3.2 grid()方法 ……………………………………………………………………187
11.3.3 place()方法 ……………………………………………………………………188
11.3.4 Frame控件 ……………………………………………………………………189
11.4 Tkinter 常用控件…………………………………………………………………………191
11.4.1 文本輸入/輸出相關控件 ……………………………………………………191
11.4.2 按鈕 ……………………………………………………………………………192
11.4.3 單選按鈕 ………………………………………………………………………193
11.4.4 復選框 …………………………………………………………………………193
11.4.5 列表框與組合框 ………………………………………………………………194
11.4.6 滑塊控件 ………………………………………………………………………196
11.4.7 菜單 ……………………………………………………………………………196
11.5 窗口………………………………………………………………………………………199
11.6 對話框……………………………………………………………………………………201
11.7 事件響應…………………………………………………………………………………203
11.8 本章小結…………………………………………………………………………………204
習題………………………………………………………………………………………………205
第12章 數據庫應用 …………………………………………………………206
12.1 關系數據庫………………………………………………………………………………207
12.2 SQLite數據庫訪問………………………………………………………………………208
12.2.1 用SQLite3模塊操作數據庫的步驟 …………………………………………208
12.2.2 SQLite命令 ……………………………………………………………………211
12.2.3 SQLite數據庫應用 ……………………………………………………………213
12.3 訪問Access、MySQL和SQL Server數據庫………………………………………215
12.3.1 使用Access數據庫 ……………………………………………………………215
12.3.2 使用MySQL數據庫 …………………………………………………………216
12.3.3 使用SQL Server數據庫 ………………………………………………………217
12.4 本章小結…………………………………………………………………………………220
習題………………………………………………………………………………………………220
第13章 Python模塊、庫與計算生態 ………………………………………222
13.1 第三方庫管理工具………………………………………………………………………223
13.1.1 pip包管理工具 ………………………………………………………………223
13.1.2 安裝wheel文件 ………………………………………………………………224
13.1.3 將py文件打包成exe文件……………………………………………………225
13.2 數據分析…………………………………………………………………………………226
13.2.1 NumPy …………………………………………………………………………226
13.2.2 SciPy ……………………………………………………………………………228
13.2.3 Pandas數據分析庫 ……………………………………………………………230
13.3 數據可視化………………………………………………………………………………231
13.3.1 Matplotlib簡介 ………………………………………………………………231
13.3.2 seaborn繪制圖形 ………………………………………………………………232
13.3.3 OpenCV圖像處理 ……………………………………………………………233
13.3.4 turtle庫繪制圖像 ………………………………………………………………234
13.4 Web開發…………………………………………………………………………………235
13.4.1 Flask框架 ……………………………………………………………………235
13.4.2 Django框架 ……………………………………………………………………236
13.5 Python 網絡爬蟲…………………………………………………………………………238
13.5.1 urllib庫 ………………………………………………………………………238
13.5.2 requests庫 ……………………………………………………………………239
13.5.3 BeautifulSoup庫 ………………………………………………………………241
13.5.4 Scrapy …………………………………………………………………………243
13.6 游戲開發…………………………………………………………………………………245
13.6.1 Pygame簡介 …………………………………………………………………245
13.6.2 Pygame的模塊 ………………………………………………………………246
13.7 文本處理…………………………………………………………………………………248
13.7.1 中文分詞jieba庫 …………………………………………………………249
13.7.2 詞雲庫wordcloud ……………………………………………………………251
13.8 本章小結…………………………………………………………………………………254
習題………………………………………………………………………………………………254
參考文獻…………………………………………………………………………256