本書以Python3.9為編程環(huán)境,介紹了Python語言程序設計的相關內容。全書分為兩篇,共12章;A篇(第1~10章)主要內容為Python語言概述、Python基本語法、基本數據類型、程序控制結構、組合數據類型、函數及代碼復用、文件和數據格式化、面向對象程序設計(OOP)、數據庫基礎、圖形界面設計。提高篇(第11、12章)主要內容為數據處理、文本處理及綜合案例。
基礎篇以學生成績處理案例貫穿前后,利用不同章節(jié)的知識實現同一功能,有利于讀者開闊思路并作前后對比。
本書以浙江省高校計算機二級Python考試大綱為依據進行編寫,涵蓋了全國計算機等級考試二級Python語言程序設計考試大綱。全書內容豐富、深入淺出,并融入了思政元素,還配有教學課件、源代碼(由出版社網站提供)及課后習題。
本書既可以作為大專院校相關專業(yè)Python課程的教材,也可以作為Python語言學習者的參考用書。
本書適合作為高等院校學生教材使用。
Python是一種解釋型、面向對象的高級程序設計語言。Python具有簡單、易學、免費、開源、可移植、可擴展、可嵌入、面向對象等優(yōu)點,還有強大的類庫支持,在科學計算、數據分析、網絡爬蟲、人工智能、機器學習、大數據等方面的應用非常廣泛。目前,國內外不少大型企業(yè)都在應用Python完成各種各樣的任務,許多高校也紛紛開設Python程序設計課程,Python語言已經成為最受歡迎的程序設計語言之一。
本書以Python3.9為編程環(huán)境,逐步介紹了Python語言程序設計的相關內容。全書分為基礎篇和提高篇,共12章。基礎篇(第1~10章)主要內容為Python語言概述、Python基本語法、基本數據類型、程序控制結構、組合數據類型、函數及代碼復用、文件和數據格式化、面向對象程序設計(OOP)、數據庫基礎、圖形界面設計。提高篇(第11、12章)主要內容為數據處理、文本處理及綜合案例。
本書具有如下特點:
(1) 以浙江省高校計算機二級Python考試大綱為依據進行編寫,涵蓋了全國計算機等級考試二級Python語言程序設計考試大綱的知識范圍。
(2) 基礎篇以學生成績處理案例貫穿前后,利用不同章節(jié)的知識實現同一功能,有利于讀者開闊思路并作前后對比。
(3) 本書嘗試將程序設計與課程思政相結合,充分挖掘蘊含在專業(yè)知識中的德育元素,以實現課程與德育的有機融合,將德育滲透、貫穿于教育和教學的全過程,幫助學生塑造正確的人生觀和價值觀。
本書由浙江財經大學東方學院的骨干教師廖一星、翁文慶、楊潔、曲著偉、劉鐵橋、應芳琴、盧永江和達內學院的工程師郭健康、開金羊、宿寧康合作編寫,他們都具有豐富的教學實踐經驗。廖一星和翁文慶負責全書的統(tǒng)稿工作。書中,第1章和第9章由楊潔編寫,第2章和第11章由曲著偉編寫,第3章由劉鐵橋編寫,第4章由翁文慶編寫,第5章由應芳琴編寫,第6章由盧永江編寫,第7章由廖一星編寫,第8章由翁文慶和開金羊合作編寫,第10章由廖一星和郭健康合作編寫,第12章由劉鐵橋和宿寧康合作編寫。
由于編者水平有限,書中難免有欠妥之處,敬請廣大讀者批評指正。
編 者
2021年12月
第1章 Python語言概述 2
1.1 程序設計語言 2
1.2 Python語言簡介 2
1.2.1 Python語言的發(fā)展 2
1.2.2 Python語言的特點 3
1.2.3 Python語言的版本更迭 4
1.3 Python開發(fā)環(huán)境 4
1.3.1 Python IDLE開發(fā)環(huán)境安裝 4
1.3.2 IDLE環(huán)境運行Python程序 6
1.3.3 Visual Studio Code 配置
Python開發(fā)環(huán)境 8
1.3.4 Visual Studio Code環(huán)境下
運行Python程序 10
1.4 Python 第三方模塊的安裝 12
1.4.1 pip工具安裝 12
1.4.2 自定義安裝 14
1.4.3 文件安裝 14
1.4.4 安裝示例 15
本章小結 16
習題 16
第2章 Python基本語法 18
2.1 Python基本語法元素 18
2.1.1 引例:計算成績最大值和
最小值 18
2.1.2 縮進 19
2.1.3 注釋 20
2.1.4 常量、變量和保留字 21
2.1.5 賦值語句 22
2.1.6 數據類型 23
2.1.7 程序控制結構 24
2.2 基本輸入/輸出函數 25
2.2.1 函數 25
2.2.2 input()函數 26
2.2.3 print()函數 27
2.3 turtle庫 27
2.3.1 turtle庫介紹 27
2.3.2 turtle庫繪圖命令 30
2.4 應用實例:繪制五角星 31
本章小結 32
習題 32
第3章 基本數據類型 34
3.1 數字類型 34
3.1.1 整數類型 34
3.1.2 浮點數類型 35
3.1.3 復數類型 35
3.1.4 數值內置運算操作符 36
3.1.5 數值內置函數 37
3.1.6 內置類型轉換函數 38
3.2 字符串類型 39
3.2.1 字符串的表示、索引和切片 39
3.2.2 字符串操作符 40
3.2.3 字符串內置函數 42
3.2.4 字符串內置處理方法 44
3.2.5 字符串中常見的轉義字符 46
3.2.6 字符串類型的格式化 47
3.3 布爾數據類型 48
3.3.1 比較運算符 48
3.3.2 邏輯運算符 49
3.3.3 成員運算符 50
3.3.4 同一性運算符 51
3.3.5 位運算符 52
3.3.6 常用運算符的優(yōu)先級別和結合性 53
3.4 類型判斷 54
3.5 math庫的使用 54
3.5.1 math函數庫中的數學常數 55
3.5.2 math函數庫中的常用函數 55
3.5.3 math函數庫應用舉例 56
3.6 應用實例:學生成績的處理 57
本章小結 58
習題 58
第4章 程序控制結構 59
4.1 程序流程描述 59
4.1.1 算法與程序控制結構 59
4.1.2 程序流程圖 59
4.1.3 流程圖描述工具Raptor 61
4.1.4 程序流程描述案例 62
4.2 分支結構 64
4.2.1 單分支if語句 65
4.2.2 二分支if語句 66
4.2.3 多分支if語句 66
4.2.4 if語句的嵌套 68
4.2.5 分支結構案例 69
4.3 循環(huán)結構 70
4.3.1 for語句 71
4.3.2 while語句 72
4.3.3 break和continue語句 73
4.3.4 循環(huán)語句中的else子句 74
4.3.5 多重循環(huán) 74
4.3.6 循環(huán)結構案例 76
4.4 random庫及使用 78
4.4.1 random庫及常用函數 78
4.4.2 random庫應用案例 80
4.5 異常處理 82
4.5.1 異常概述 82
4.5.2 異常處理語句 83
4.6 程序調試 85
4.6.1 程序調試概述 85
4.6.2 VS Code軟件調試功能使用 85
4.7 應用實例:學生成績的處理 90
本章小結 91
習題 91
第5章 組合數據類型 93
5.1 通用序列 93
5.1.1 通用序列概述 93
5.1.2 通用序列的操作 93
5.2 列表 94
5.2.1 列表的創(chuàng)建 95
5.2.2 列表的插入 95
5.2.3 列表元素的刪除 96
5.2.4 列表的修改 97
5.2.5 列表的其他操作 97
5.2.6 列表的遍歷 99
5.3 元組 101
5.3.1 元組的創(chuàng)建 102
5.3.2 元組的訪問 102
5.3.3 元組的連接 103
5.3.4 元組的刪除 103
5.3.5 元組的運算符 104
5.4 字典 104
5.4.1 字典的創(chuàng)建 105
5.4.2 字典信息的獲取 106
5.4.3 字典值的查找 107
5.4.4 字典元素的增加 107
5.4.5 字典元素的刪除 108
5.4.6 字典元素的修改 109
5.4.7 字典元素的遍歷 109
5.5 集合 112
5.5.1 集合的創(chuàng)建 112
5.5.2 集合的關系與運算 112
5.5.3 集合的方法 113
5.6 列表的搜索和排序 113
5.6.1 線性搜索 114
5.6.2 二分搜索 114
5.6.3 選擇排序 116
5.6.4 冒泡排序 117
5.7 應用實例:學生成績的處理 118
本章小結 120
習題 121
第6章 函數及代碼復用 122
6.1 函數的基本使用 122
6.1.1 函數的定義 122
6.1.2 函數的調用過程 123
6.1.3 lambda函數 124
6.2 函數的參數傳遞 125
6.2.1 可選參數和可變參數 125
6.2.2 參數的位置傳遞和名稱傳遞 126
6.2.3 函數的返回值 126
6.2.4 函數對變量的作用 128
6.3 函數與模塊化設計 131
6.4 遞歸函數 133
6.4.1 遞歸的定義 133
6.4.2 遞歸的使用 133
6.5 Python內置函數 135
6.6 程序的調試(函數的跟蹤進入) 140
6.7 應用實例:學生成績的處理 142
本章小結 145
習題 145
第7章 文件和數據格式化 147
7.1 文件的使用 147
7.1.1 文件概述 147
7.1.2 文件的打開和關閉 149
7.1.3 文件的讀寫 151
7.2 數據組織及處理 156
7.2.1 數據的組織 156
7.2.2 數據的表示 156
7.2.3 數據的存儲 156
7.2.4 數據的處理 157
7.3 應用實例:學生成績的處理 160
本章小結 164
習題 164
第8章 面向對象程序設計(OOP) 166
8.1 OOP概述 166
8.1.1 OOP的基本概念 166
8.1.2 OOP的特點 167
8.2 類的定義和使用 168
8.2.1 類的定義 168
8.2.2 對象的創(chuàng)建和使用 169
8.3 類的成員及其訪問控制 170
8.3.1 __init__函數和__del__函數 170
8.3.2 數據成員及訪問控制 171
8.3.3 函數成員及訪問控制 175
8.4 應用實例:學生成績的處理 178
本章小結 181
習題 181
第9章 數據庫基礎 183
9.1 數據庫系統(tǒng)概述 183
9.1.1 數據庫的基本概念 183
9.1.2 數據管理技術的產生和發(fā)展 184
9.1.3 數據庫系統(tǒng)的特點 185
9.2 Python內置數據庫SQLite 186
9.2.1 基本介紹 186
9.2.2 安裝與使用 186
9.2.3 實例演示 187
9.3 應用實例:學生成績的處理 188
本章小結 192
習題 192
第10章 圖形界面設計 193
10.1 窗口 193
10.1.1 窗口的創(chuàng)建 193
10.1.2 幾何布局管理 194
10.2 常用Tkinter組件的使用 198
10.2.1 Label組件 198
10.2.2 Button組件 199
10.2.3 文本框組件 201
10.2.4 列表框組件 203
10.2.5 單選按鈕組件 205
10.2.6 復選框組件 206
10.2.7 菜單組件 208
10.2.8 消息窗口 211
10.2.9 Canvas組件 212
10.3 Python事件處理 214
10.3.1 事件序列 214
10.3.2 事件綁定 215
10.3.3 事件處理函數 217
10.4 應用實例:學生成績的處理 218
本章小結 223
習題 223
提 高 篇
第11章 數據處理 226
11.1 數據處理概述 226
11.2 NumPy庫基礎及應用 226
11.2.1 數組的使用 226
11.2.2 數組的索引 229
11.2.3 數組的運算 230
11.2.4 數據處理函數 232
11.3 Matplotlib基礎及應用 233
11.3.1 Matplotlib基礎 233
11.3.2 Matplotlib繪制多圖 236
11.3.3 基本繪圖類型 239
11.3.4 圖形繪制輔助函數介紹 245
本章小結 252
習題 252
第12章 文本處理及綜合案例 253
12.1 分詞 253
12.1.1 jieba庫介紹 253
12.1.2 jieba庫分詞的三種模式 253
12.1.3 jieba庫的常用函數 254
12.1.4 典型案例 255
12.2 WordCloud 256
12.2.1 WordCloud 的常用參數 257
12.2.2 WordCloud的使用方法 257
12.2.3 典型案例 258
12.3 網絡爬蟲 260
12.3.1 爬蟲分類 260
12.3.2 編寫爬蟲的步驟 261
12.3.3 Requests庫介紹 261
12.3.4 BeautifulSoup4庫介紹 262
12.3.5 BeautifulSoup4爬蟲案例 267
12.3.6 正則表達式介紹 269
12.3.7 正則表達式爬蟲案例 274
12.4 綜合案例——電影評論統(tǒng)計分析
及可視化 275
12.4.1 爬蟲電影數據并保存為
Excel文件 275
12.4.2 導入及處理數據(在Jupyter
Notebook上運行) 277
本章小結 279
參考文獻 280