Python功能強大且簡單易學,是程序開發人員必學的語言之一。本書注重基礎、循序漸進,系統地講述了Python程序設計開發相關基礎知識。本書共分10章,涵蓋了Python語言基礎、Python基本語法、基本數據類型、組合數據類型、程序控制結構、函數與模塊、文件和數據組織、Python標準庫、第三方庫和面向對象等內容。本書內容全面覆蓋了《全國計算機等級考試二級Python語言程序設計考試大綱(2018年版)》的知識點。
1.零基礎入門
讀者即使沒有其他程序設計語言的相關基礎,跟隨本書也可輕松掌握Python的各種基本技術和使用方法。
2.學習成本低
本書在構建開發環境時,選擇了應用最為廣泛的Windows 操作系統、穩定版Python3.5,使用Python 3.5 自帶的集成開發工具IDLE 等進行學習和操作,沒有特別的軟件和硬件要求。
3.內容編排精心設計
Python 程序設計涉及的范圍非常廣泛,本書內容編排并不求全、求深,而是考慮零基礎讀者的接受能力,選擇Python 中必備、實用的知識進行講解。知識和配套實例循序漸進、環環相扣。
4.強調理論與實踐相結合
書中每章末尾的編程實踐環節都盡量安排一個短小、完整的實例,方便教師教學,也方便學生學習。
5.完整收集學習必備資源
為了方便讀者學習,本書提供所有實例的源代碼、數據庫文件以及資源。源代碼可在學習過程中直接使用,參考相關章節進行配置即可。
夏幫貴,1998年畢業于西南大學,主要從事數據庫、軟件開發,已出版VB、C/C++、VF、Java、PHP、ASP.NET等相關教材十余部。
第 1章
Python語言基礎 1
1.1 Python概述 1
1.1.1 Python的發展 1
1.1.2 Python的特點 1
1.1.3 Python的版本 3
1.1.4 Python 3與Python 2的區別 3
1.2 運行Python程序 6
1.2.1 Python程序的運行方式 6
1.2.2 Python程序的可執行文件 7
1.3 Python開發環境 7
1.3.1 Python的下載和安裝 7
1.3.2 Python編程工具:IDLE 10
1.4 綜合實例 11
小結 13
習題 13
第 2章
Python基本語法 15
2.1 基本語法元素 15
2.1.1 縮進 15
2.1.2 注釋 16
2.1.3 語句續行符號 16
2.1.4 語句分隔符號 17
2.1.5 保留字和關鍵字 17
2.2 基本輸入和輸出 18
2.2.1 基本輸入 18
2.2.2 基本輸出 19
2.3 變量與對象 20
2.3.1 變量命名規則 20
2.3.2 賦值語句 20
2.3.3 變量與對象 23
2.3.4 對象的垃圾回收 23
2.3.5 變量的共享引用 24
2.4 綜合實例 25
小結 26
習題 26
第3章
基本數據類型 28
3.1 數字類型 28
3.1.1 整數類型 28
3.1.2 浮點數類型 29
3.1.3 復數類型 29
3.1.4 小數類型 29
3.1.5 分數類型 30
3.2 數字運算 31
3.2.1 數字運算操作符 31
3.2.2 數字處理函數 35
3.3 字符串類型 36
3.3.1 字符串常量 36
3.3.2 字符串操作符 39
3.3.3 字符串的索引 40
3.3.4 字符串的切片 40
3.3.5 迭代字符串 41
3.3.6 字符串處理函數 41
3.3.7 字符串處理方法 42
3.3.8 字符串的格式化 48
3.3.9 bytes字符串 51
3.4 數據類型操作 51
3.4.1 類型判斷 51
3.4.2 類型轉換 51
3.5 綜合實例 53
小結 54
習題 54
第4章
組合數據類型 56
4.1 集合 56
4.1.1 集合常量 56
4.1.2 集合運算 57
4.1.3 集合基本操作 58
4.1.4 凍結集合 59
4.2 列表 59
4.2.1 列表基本特點和操作 59
4.2.2 常用列表方法 62
4.3 元組 65
4.3.1 元組的特點和操作 65
4.3.2 元組的方法 67
4.4 字典 67
4.4.1 字典的特點和操作 68
4.4.2 字典常用方法 70
4.4.3 字典視圖 72
4.5 迭代和列表解析 74
4.5.1 迭代 74
4.5.2 列表解析 76
4.5.3 zip()、map()和filter() 78
4.6 綜合實例 80
小結 81
習題 81
第5章
程序控制結構 83
5.1 程序的基本結構 83
5.2 分支結構 84
5.2.1 單分支結構 84
5.2.2 雙分支結構 84
5.2.3 多分支結構 85
5.2.4 if...else三元表達式 86
5.3 循環結構 87
5.3.1 遍歷循環:for 87
5.3.2 無限循環:while 89
5.3.3 循環控制:break和continue 91
5.4 異常處理 92
5.4.1 異常處理基本結構 92
5.4.2 捕捉多個異常 94
5.4.3 except...as 95
5.4.4 捕捉所有異常 96
5.4.5 異常處理結構的嵌套 97
5.4.6 try...finally終止行為 97
5.4.7 raise語句 97
5.4.8 異常鏈:異常引發異常 98
5.4.9 assert語句 99
5.5 綜合實例 99
小結 100
習題 100
第6章
函數與模塊 103
6.1 函數 103
6.1.1 定義函數 103
6.1.2 調用函數 104
6.1.3 函數的參數 104
6.1.4 函數嵌套定義 107
6.1.5 lambda函數 107
6.1.6 遞歸函數 108
6.1.7 函數列表 108
6.2 變量的作用域 109
6.2.1 作用域分類 109
6.2.2 global語句 111
6.2.3 nonlocal語句 111
6.3 模塊 112
6.3.1 導入模塊 113
6.3.2 導入時執行模塊 114
6.3.3 用import語句還是from語句 116
6.3.4 重新載入模塊 117
6.3.5 模塊搜索路徑 118
6.3.6 嵌套導入模塊 120
6.3.7 查看模塊對象屬性 121
6.3.8 __name__屬性和命令行參數 121
6.3.9 隱藏模塊變量 122
6.4 模塊包 124
6.4.1 包的基本結構 124
6.4.2 導入包 124
6.4.3 相對導入 125
6.4.4 在__init__.py中添加代碼 126
6.5 綜合實例 127
本章小結 129
習題 129
第7章
文件和數據組織 132
7.1 文件 132
7.1.1 文件類型 132
7.1.2 打開和關閉文件 133
7.1.3 讀寫文本文件 134
7.1.4 讀寫二進制文件 138
7.1.5 用文件存儲對象 139
7.1.6 目錄操作 139
7.2 讀寫CSV文件 141
7.2.1 CSV文件的基本概念 141
7.2.2 讀CSV文件數據 141
7.2.3 將數據寫入CSV文件 143
7.3 數據組織的維度 144
7.3.1 基本概念 144
7.3.2 一維數據的處理 145
7.3.3 二維數據的處理 146
7.3.4 數據排序 147
7.3.5 數據查找 150
7.4 綜合實例 151
小結 153
習題 153
第8章
Python標準庫 155
8.1 繪圖工具:turtle庫 155
8.1.1 turtle庫的基本概念 155
8.1.2 窗體函數 157
8.1.3 畫筆控制函數 159
8.1.4 畫筆運動函數 161
8.1.5 形狀函數 164
8.1.6 輸入輸出函數 166
8.1.7 事件處理函數 167
8.1.8 turtle繪圖實例 168
8.2 隨機數工具:random庫 171
8.2.1 random庫概述 171
8.2.2 隨機數種子函數 171
8.2.3 整數隨機數函數 172
8.2.4 浮點數隨機數函數 173
8.2.5 序列隨機函數 173
8.2.6 隨機數實例 174
8.3 時間處理工具:time庫 175
8.3.1 time庫概述 175
8.3.2 時間處理函數 176
8.3.3 時間格式化函數 177
8.3.4 計時函數 179
8.3.5 時間函數實例 179
8.4 圖形用戶界面工具:Tkinter庫 180
8.4.1 Tkinter庫基礎 180
8.4.2 Tkinter窗口 181
8.4.3 窗口布局 182
8.4.4 事件處理 185
8.4.5 控件簡介 187
8.4.6 對話框 191
8.5 綜合實例 194
小結 196
習題 196
第9章
第三方庫 199
9.1 第三方庫安裝方法 199
9.1.1 使用pip安裝第三方庫 199
9.1.2 使用第三方庫安裝程序 201
9.2 第三方庫簡介 202
9.2.1 文本處理庫簡介 202
9.2.2 數據分析庫簡介 202
9.2.3 數據可視化庫簡介 203
9.2.4 網絡爬蟲庫簡介 204
9.2.5 用戶圖形界面庫簡介 204
9.2.6 機器學習庫簡介 205
9.2.7 Web 開發庫簡介 206
9.2.8 游戲開發庫簡介 206
9.3 打包工具:PyInstaller 207
9.3.1 PyInstaller庫概述 207
9.3.2 安裝PyInstaller 208
9.3.3 使用PyInstaller 208
9.4 分詞工具:jieba 210
9.4.1 jieba庫概述 211
9.4.2 使用分詞功能 211
9.4.3 使用詞典 212
9.4.4 詞性標注 213
9.4.5 返回詞語位置 214
9.4.6 關鍵詞提取 214
9.5 詞云工具:wordcloud 216
9.5.1 wordcloud庫概述 216
9.5.2 wordcloud庫函數 216
9.5.3 生成詞云 217
9.6 綜合實例 219
小結 220
習題 220
第 10章
面向對象 222
10.1 理解Python的面向對象 222
10.1.1 面向對象的基本概念 222
10.1.2 Python的類和類型 223
10.1.3 Python中的對象 223
10.2 定義和使用類 224
10.2.1 定義類 224
10.2.2 使用類 225
10.3 對象的屬性和方法 225
10.3.1 對象的屬性 225
10.3.2 對象的方法 227
10.3.3 特殊屬性和方法 228
10.3.4 “偽私有”屬性和方法 229
10.3.5 對象的初始化 230
10.3.6 靜態方法 230
10.4 類的繼承 231
10.4.1 簡單繼承 231
10.4.2 在子類中定義屬性和方法 231
10.4.3 調用超類的初始化函數 232
10.4.4 多重繼承 233
10.5 模塊中的類 234
10.6 綜合實例 234
小結 236
習題 236
附錄1
將Python添加到系統的環境變量PATH 238
附錄2
ASCII碼對照表 240
附錄3
常用顏色對照表 241
附錄4
全國計算機等級考試二級Python語言程序設計考試大綱(2018年版) 243