Python是近年來流行的編程語言之一,簡潔的語法和卓越的可讀性使其成為初學(xué)者的完美編程語言,并且深受編程人員的喜愛和追捧。本書以Python 3.9為開發(fā)環(huán)境,從入門者的角度出發(fā),以簡潔、通俗易懂的語言逐步展開Python語言教學(xué)。全書共分為12章,主要內(nèi)容包括Python環(huán)境搭建、數(shù)字類型與字符串、流程控制、列表與元組、集合和字典、函數(shù)、類與對象、模塊、文件與文件路徑操作、錯(cuò)誤和異常、正則表達(dá)式以及圖形用戶界面編程。本書配有大量典型的實(shí)例,讀者可以邊學(xué)邊練,鞏固所學(xué)知識(shí),并在實(shí)踐中提升實(shí)際開發(fā)能力。本書提供完善的學(xué)習(xí)資源和支持服務(wù),包括電子教案(PPT)、案例素材、源代碼、各章上機(jī)練習(xí)與課后作業(yè)參考答案、教學(xué)設(shè)計(jì)、教學(xué)大綱等配套資源,為開發(fā)者帶來全方位的學(xué)習(xí)體驗(yàn)。本書適合作為高等院校計(jì)算機(jī)相關(guān)專業(yè)及其他工科專業(yè)的Python程序設(shè)計(jì)課程教材,也可作為Python培訓(xùn)教材,還可作為編程人員及自學(xué)者的輔助教材或自學(xué)參考書。
石毅,擁有多年軟件開發(fā)從業(yè)與教育培訓(xùn)經(jīng)驗(yàn),熟悉Java開發(fā)企業(yè)級應(yīng)用、Android應(yīng)用開發(fā)、Web前端設(shè)計(jì),負(fù)責(zé)Java軟件開發(fā)方向課程教學(xué)工作,主講Java、HTML、CSS、JavaScript、jQuery、MySQL、SQL Server、Oracle 數(shù)據(jù)庫、JavaWEB開發(fā)、SSM框架、SSH框架、微服務(wù)開發(fā)等課程。常受邀到各大高校擔(dān)任軟件開發(fā)相關(guān)課程教學(xué),教學(xué)風(fēng)格幽默風(fēng)趣、工作態(tài)度認(rèn)真負(fù)責(zé)、深受廣大學(xué)生喜歡。
第1章 初識(shí)Python 1
1.1 Python語言概述 2
1.1.1 Python語言的發(fā)展歷史 2
1.1.2 Python語言的特點(diǎn) 2
1.1.3 Python的版本 4
1.1.4 Python語言的應(yīng)用領(lǐng)域 6
1.2 搭建Python開發(fā)環(huán)境 7
1.2.1 Python的安裝 7
1.2.2 IDLE的使用 11
1.2.3 集成開發(fā)環(huán)境PyCharm的安裝與使用 12
1.3 快速開發(fā)Python程序 19
1.3.1 開發(fā)個(gè)Python程序:模擬游戲幣充值 19
1.3.2 變量和常量 19
1.3.3 基本輸入/輸出 22
1.3.4 良好的編程約定 23
1.3.5 技能訓(xùn)練 24
1.4 Python程序執(zhí)行原理 25
1.4.1 運(yùn)行hello_world.py時(shí)發(fā)生的情況 25
1.4.2 Python的文件類型 25
1.4.3 Python是一種解釋型語言 26
1.4.4 技能訓(xùn)練 26
第2章 Python基礎(chǔ)語法 29
2.1 數(shù)字類型 29
2.1.1 數(shù)字類型的表示方法 29
2.1.2 技能訓(xùn)練1 31
2.1.3 類型轉(zhuǎn)換函數(shù) 31
2.1.4 技能訓(xùn)練2 34
2.2 字符串 34
2.2.1 字符串的定義 34
2.2.2 字符串的格式化輸出 36
2.2.3 字符串的常見操作 39
2.2.4 字符串的索引與切片 44
2.2.5 技能訓(xùn)練 46
2.3 運(yùn)算符 47
2.3.1 算術(shù)運(yùn)算符 47
2.3.2 比較運(yùn)算符 48
2.3.3 賦值運(yùn)算符 49
2.3.4 邏輯運(yùn)算符 50
2.3.5 位運(yùn)算符 51
2.3.6 運(yùn)算符優(yōu)先級 52
2.3.7 技能訓(xùn)練 53
第3章 流程控制 56
3.1 結(jié)構(gòu)化程序設(shè)計(jì) 56
3.2 條件語句 57
3.2.1 一個(gè)簡單示例 57
3.2.2 條件測試 58
3.2.3 if 語句 61
3.2.4 if...else語句 62
3.2.5 if...elif...else語句 64
3.2.6 技能訓(xùn)練 66
3.3 條件語句嵌套 67
3.3.1 if語句嵌套 67
3.3.2 技能訓(xùn)練 68
3.4 循環(huán)語句 69
3.4.1 for循環(huán) 69
3.4.2 技能訓(xùn)練1 70
3.4.3 while循環(huán) 71
3.4.4 技能訓(xùn)練2 75
3.5 循環(huán)語句嵌套 76
3.5.1 while循環(huán)嵌套 76
3.5.2 for循環(huán)嵌套 77
3.5.3 技能訓(xùn)練 78
3.6 Python的其他語句 78
3.6.1 break語句 78
3.6.2 continue語句 80
3.6.3 pass語句 81
3.6.4 else語句 81
3.6.5 技能訓(xùn)練 82
第4章 列表和元組 84
4.1 認(rèn)識(shí)列表 84
4.1.1 什么是列表 84
4.1.2 列表的創(chuàng)建方式 85
4.1.3 訪問列表元素 85
4.1.4 列表的常用方法 87
4.1.5 技能訓(xùn)練 87
4.2 列表的遍歷、排序和查找 88
4.2.1 列表的遍歷 88
4.2.2 列表的排序 89
4.2.3 列表的查找 90
4.2.4 技能訓(xùn)練 91
4.3 添加、刪除和修改列表元素 92
4.3.1 在列表中添加元素 92
4.3.2 修改列表元素 93
4.3.3 刪除列表元素 94
4.3.4 技能訓(xùn)練 95
4.4 嵌套列表 95
4.4.1 嵌套列表的創(chuàng)建與訪問 96
4.4.2 技能訓(xùn)練 97
4.5 認(rèn)識(shí)元組 97
4.5.1 元組的創(chuàng)建方式 97
4.5.2 訪問元組元素 98
4.5.3 元組的遍歷 99
4.5.4 修改元組變量 100
4.5.5 技能訓(xùn)練 101
第5章 字典與集合 104
5.1 認(rèn)識(shí)字典 104
5.1.1 一個(gè)簡單的字典 104
5.1.2 字典的創(chuàng)建方式 105
5.1.3 通過鍵訪問字典 107
5.1.4 技能訓(xùn)練 107
5.2 字典的基本操作 108
5.2.1 字典元素的添加和修改 108
5.2.2 字典元素的刪除 109
5.2.3 字典元素的查詢 110
5.2.4 技能訓(xùn)練 112
5.3 嵌套字典 113
5.3.1 字典列表 113
5.3.2 在字典中存儲(chǔ)列表 115
5.3.3 在字典中存儲(chǔ)字典 116
5.3.4 技能訓(xùn)練 117
5.4 認(rèn)識(shí)集合 117
5.4.1 集合的創(chuàng)建方式 117
5.4.2 集合元素的添加、刪除和清空 118
5.4.3 集合類型的操作符 119
5.4.4 技能訓(xùn)練 121
5.5 列表、元組、字典和集合的比較 121
第6章 函數(shù) 124
6.1 定義函數(shù) 124
6.1.1 向函數(shù)傳遞信息 125
6.1.2 實(shí)參和形參 126
6.1.3 技能訓(xùn)練 126
6.2 函數(shù)的參數(shù)傳遞 126
6.2.1 位置實(shí)參 126
6.2.2 關(guān)鍵字實(shí)參 128
6.2.3 默認(rèn)值 129
6.2.4 等效的函數(shù)調(diào)用 130
6.2.5 不定長參數(shù) 131
6.2.6 避免實(shí)參錯(cuò)誤 131
6.2.7 技能訓(xùn)練 132
6.3 變量作用域 132
6.3.1 局部變量 132
6.3.2 全局變量 133
6.3.3 技能訓(xùn)練 134
6.4 返回值 135
6.4.1 返回簡單值 135
6.4.2 讓實(shí)參變成可選的 135
6.4.3 返回字典 136
6.4.4 結(jié)合使用函數(shù)和while循環(huán) 137
6.4.5 技能訓(xùn)練 138
6.5 傳遞列表 138
6.5.1 在函數(shù)中修改列表 139
6.5.2 禁止函數(shù)修改列表 140
6.5.3 技能訓(xùn)練 141
6.6 函數(shù)的特殊形式 141
6.6.1 匿名函數(shù) 141
6.6.2 遞歸函數(shù) 142
6.6.3 技能訓(xùn)練 143
6.7 Python常用內(nèi)置函數(shù) 143
第7章 類與面向?qū)ο?147
7.1 面向?qū)ο?147
7.1.1 面向?qū)ο蟾攀?147
7.1.2 面向?qū)ο蟮幕靖拍?148
7.2 類與對象 149
7.2.1 類與對象的關(guān)系 149
7.2.2 類的定義與訪問 150
7.2.3 對象的創(chuàng)建與使用 150
7.2.4 訪問限制 151
7.2.5 技能訓(xùn)練 152
7.3 類中特殊方法 152
7.3.1 構(gòu)造方法 152
7.3.2 析構(gòu)方法 153
7.3.3 類方法 154
7.3.4 靜態(tài)方法 155
7.3.5 技能訓(xùn)練 156
7.4 使用類和實(shí)例 157
7.4.1 Car類 157
7.4.2 給屬性指定默認(rèn)值 157
7.4.3 修改屬性的值 158
7.4.4 技能訓(xùn)練 161
7.5 繼承 161
7.5.1 單繼承與多繼承 161
7.5.2 super()函數(shù) 162
7.5.3 子類的方法__init__() 162
7.5.4 給子類定義屬性和方法 163
7.5.5 重寫父類的方法 163
7.5.6 將實(shí)例用作屬性 164
7.5.7 技能訓(xùn)練 165
7.6 多態(tài) 166
7.6.1 多態(tài)應(yīng)用 166
7.6.2 技能訓(xùn)練 167
第8章 模塊和包 170
8.1 Python程序的結(jié)構(gòu) 170
8.2 模塊概述 171
8.2.1 模塊的概念 171
8.2.2 模塊的導(dǎo)入方式 171
8.2.3 常見的標(biāo)準(zhǔn)模塊 172
8.2.4 技能訓(xùn)練 176
8.3 自定義模塊 176
8.4 導(dǎo)入類應(yīng)用 177
8.4.1 導(dǎo)入單個(gè)類 178
8.4.2 在一個(gè)模塊中存儲(chǔ)多個(gè)類 179
8.4.3 從一個(gè)模塊中導(dǎo)入多個(gè)類 180
8.4.4 導(dǎo)入整個(gè)模塊 180
8.4.5 導(dǎo)入模塊中的所有類 180
8.4.6 在一個(gè)模塊中導(dǎo)入另一個(gè)模塊 181
8.4.7 自定義工作流程 181
8.4.8 技能訓(xùn)練 182
8.5 Python標(biāo)準(zhǔn)庫 182
8.5.1 Python標(biāo)準(zhǔn)庫使用 182
8.5.2 技能訓(xùn)練 183
8.6 模塊的導(dǎo)入特性 183
8.6.1 __all__屬性 183
8.6.2 __name__屬性 184
8.7 Python中的包 184
8.7.1 包的結(jié)構(gòu) 184
8.7.2 包的導(dǎo)入 185
8.8 第三方模塊的下載與安裝 185
8.8.1 在命令提示符中下載和安裝第三方模塊 185
8.8.2 在PyCharm中下載和安裝第三方模塊 186
8.8.3 技能訓(xùn)練 186
第9章 文件I/O 189
9.1 文件的打開和關(guān)閉 189
9.1.1 打開文件 190
9.1.2 關(guān)閉文件 190
9.2 從文件中讀取數(shù)據(jù) 191
9.2.1 文件的常用讀取方法 191
9.2.2 讀取整個(gè)文件 192
9.2.3 文件路徑 193
9.2.4 逐行讀取 194
9.2.5 創(chuàng)建一個(gè)包含文件各行內(nèi)容的列表 195
9.2.6 使用文件的內(nèi)容 195
9.2.7 包含一百萬位的大型文件 196
9.2.8 技能訓(xùn)練 196
9.3 向文件寫入數(shù)據(jù) 197
9.3.1 數(shù)據(jù)寫入常用方法 197
9.3.2 寫入空文件 198
9.3.3 寫入多行 198
9.3.4 附加到文件 199
9.3.5 技能訓(xùn)練 199
9.4 文件的定位讀取 199
9.4.1 tell()方法 199
9.4.2 seek()方法 200
9.5 文件的復(fù)制與重命名 200
9.5.1 文件的復(fù)制 200
9.5.2 文件的重命名 201
9.6 目錄操作 201
9.6.1 創(chuàng)建目錄 201
9.6.2 刪除目錄 202
9.6.3 獲取目錄的文件列表 202
9.7 文件路徑操作 203
9.7.1 相對路徑與路徑 203
9.7.2 獲取當(dāng)前路徑 203
9.7.3 檢測路徑的有效性 204
9.7.4 路徑的拼接 204
9.7.5 技能訓(xùn)練 205
第10章 異常處理 207
10.1 錯(cuò)誤和異常概述 207
10.2 捕獲異常 209
10.2.1 try...except語句 209
10.2.2 為什么需要異常信息 210
10.2.3 捕獲異常信息 211
10.2.4 else子句 213
10.2.5 finally子句 214
10.2.6 技能訓(xùn)練 214
10.3 拋出異常 215
10.3.1 raise語句 215
10.3.2 異常的傳遞 216
10.3.3 assert斷言語句 217
10.4 自定義異常 217
10.4.1 定義自定義異常類 217
10.4.2 技能訓(xùn)練 218
10.5 with語句與上下文管理器 219
10.5.1 with語句 219
10.5.2 上下文管理器 219
10.5.3 自定義上下文管理器 220
10.5.4 技能訓(xùn)練 220
第11章 正則表達(dá)式 223
11.1 正則表達(dá)式基礎(chǔ)知識(shí) 223
11.1.1 為什么需要正則表達(dá)式 223
11.1.2 什么是正則表達(dá)式 223
11.1.3 元字符 224
11.1.4 預(yù)定義字符集 227
11.2 使用re模塊處理正則表達(dá)式 227
11.2.1 re模塊 227
11.2.2 預(yù)編譯 228
11.3 匹配與搜索 229
11.3.1 match()函數(shù)和search()函數(shù) 229
11.3.2 技能訓(xùn)練1 230
11.3.3 匹配對象 230
11.3.4 全文匹配 232
11.3.5 檢索替換 233
11.3.6 技能訓(xùn)練2 233
11.3.7 文本分割 234
11.3.8 貪婪匹配和非貪婪匹配 234
11.3.9 技能訓(xùn)練3 235
第12章 圖形用戶界面編程 238
12.1 tkinter概述 238
12.1.1 認(rèn)識(shí)tkinter 238
12.1.2 構(gòu)建簡單的GUI 240
12.2 tkinter組件概述 244