Python程序設(shè)計(基于計算思維和新文科建設(shè))
定 價:68 元
- 作者:胡鳳國
- 出版時間:2022/6/1
- ISBN:9787121435577
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.561
- 頁碼:416
- 紙張:
- 版次:01
- 開本:16開
本書是面向初學(xué)者的Python入門書,強調(diào)基礎(chǔ)知識,兼顧實踐應(yīng)用。 基礎(chǔ)篇介紹Python程序設(shè)計的入門知識,共12章,重點包括:Python介紹、安裝和運行;Python的基本概念(對象、數(shù)據(jù)類型、變量、表達(dá)式、內(nèi)置函數(shù));輸入和輸出;程序設(shè)計的基本結(jié)構(gòu);函數(shù)和類;序列操作(列表、元組、集合、字典);字符串;正則表達(dá)式;文件讀寫;目錄與文件操作;常用標(biāo)準(zhǔn)庫。排錯篇總結(jié)初學(xué)者常遇到的錯誤并介紹程序調(diào)試方法,包含2章:Python錯誤類型、Python代碼調(diào)試。 本書為讀者提供完整的教學(xué)資料包。作為學(xué)習(xí)的完整架構(gòu),與本書內(nèi)容相關(guān)的文本篇和應(yīng)用篇以電子出版物形式出版。 本書適合作為高等院校文科類各專業(yè)學(xué)生學(xué)習(xí)Python和大數(shù)據(jù)應(yīng)用的教材,也可供相關(guān)從業(yè)人員學(xué)習(xí)參考。
胡鳳國,男,中國傳媒大學(xué)副教授,中國中文信息處理學(xué)會會員,省部級項目面向語言監(jiān)測的漢語自動分詞標(biāo)注系統(tǒng)研究負(fù)責(zé)人,國社科項目計算語言學(xué)方法研究成員,漢語復(fù)雜網(wǎng)絡(luò)研究成員。
目 錄
第一篇 基礎(chǔ)篇
第1章 Python介紹 2
1.1 什么是Python 2
1.1.1 有一種編程語言叫Python 2
1.1.2 Python的發(fā)展史 3
1.1.3 Python的版本選擇 3
1.2 為什么要學(xué)習(xí)Python 5
1.2.1 為什么要學(xué)編程 5
1.2.2 學(xué)編程為什么選Python 6
1.3 怎樣學(xué)習(xí)Python 7
第2章 Python的安裝和運行 9
2.1 安裝Python軟件 9
2.1.1 軟件下載 9
2.1.2 安裝 11
2.1.3 測試 15
2.2 運行Python代碼 19
2.2.1 交互式運行 19
2.2.2 腳本式運行 21
2.2.3 命令行運行 23
2.2.4 擴展式運行 25
2.2.5 運行Python代碼的誤區(qū) 25
2.2.6 合法的Python語句 25
2.3 Python代碼書寫規(guī)范 28
2.4 Python擴展庫和標(biāo)準(zhǔn)庫 32
2.4.1 擴展庫的安裝 32
2.4.2 標(biāo)準(zhǔn)庫和擴展庫的使用 37
第3章 Python的基本概念 40
3.1 數(shù)據(jù)和數(shù)據(jù)類型 40
3.1.1 數(shù)據(jù)與對象 40
3.1.2 數(shù)據(jù)類型 41
3.2 變量與關(guān)鍵字 52
3.2.1 對象的存儲 52
3.2.2 變量 52
3.2.3 關(guān)鍵字 56
3.3 運算符和表達(dá)式 57
3.3.1 常量數(shù)據(jù)和變量數(shù)據(jù) 57
3.3.2 運算符 57
3.3.3 表達(dá)式 70
3.4 內(nèi)置函數(shù)和內(nèi)置對象 72
3.4.1 內(nèi)置函數(shù) 72
3.4.2 內(nèi)置對象 81
思考題 86
第4章 輸入和輸出 87
4.1 數(shù)據(jù)輸入 87
4.1.1 獲取輸入數(shù)據(jù) 87
4.1.2 轉(zhuǎn)換輸入數(shù)據(jù) 87
4.1.3 處理輸入錯誤 89
4.2 數(shù)據(jù)輸出 91
4.2.1 最簡單的數(shù)據(jù)輸出 92
4.2.2 數(shù)據(jù)格式化 98
4.3 綜合舉例 103
4.3.1 十進(jìn)制轉(zhuǎn)二進(jìn)制(一) 103
4.3.2 雞兔同籠(一) 103
4.3.3 韓信點兵(一) 104
4.3.4 換酒問題(一) 104
4.3.5 最大公約數(shù)(一) 105
4.3.6 交換兩個變量的值 106
思考題 106
第5章 基本程序結(jié)構(gòu) 109
5.1 結(jié)構(gòu)化程序設(shè)計 109
5.1.1 順序結(jié)構(gòu) 109
5.1.2 選擇結(jié)構(gòu) 110
5.1.3 循環(huán)結(jié)構(gòu) 110
5.1.4 結(jié)構(gòu)嵌套 111
5.2 順序結(jié)構(gòu) 112
5.2.1 順序結(jié)構(gòu)舉例 113
5.2.2 順序結(jié)構(gòu)的拼接 113
5.3 選擇結(jié)構(gòu) 114
5.3.1 單分支選擇結(jié)構(gòu) 115
5.3.2 雙分支選擇結(jié)構(gòu) 115
5.3.3 多分支選擇結(jié)構(gòu) 116
5.3.4 選擇結(jié)構(gòu)的嵌套 118
5.3.5 條件表達(dá)式 120
5.3.6 選擇結(jié)構(gòu)的多樣性 121
5.4 循環(huán)結(jié)構(gòu) 123
5.4.1 while循環(huán) 123
5.4.2 for 循環(huán) 125
5.4.3 continue語句 126
5.4.4 break語句 127
5.4.5 循環(huán)結(jié)構(gòu)中的else子句 127
5.5 循環(huán)結(jié)構(gòu)的嵌套 129
5.6 綜合舉例 130
5.6.1 十進(jìn)制轉(zhuǎn)二進(jìn)制(二) 130
5.6.2 雞兔同籠(二) 131
5.6.3 韓信點兵(二) 132
5.6.4 換酒問題(二) 132
5.6.5 最大公約數(shù)(二) 132
5.6.6 百錢百雞 135
5.6.7 兔子數(shù)列 135
5.6.8 奇數(shù)幻方 136
5.6.9 哥德巴赫猜想(一) 138
5.6.10 信息加密(一) 139
5.6.11 求圓周率 139
5.6.12 海龜畫圖 142
思考題 152
第6章 函數(shù)和類 159
6.1 使用函數(shù)的好處 159
6.2 函數(shù)的定義和調(diào)用 160
6.2.1 函數(shù)的定義 160
6.2.2 函數(shù)的調(diào)用 160
6.2.3 關(guān)于函數(shù)返回值的注意事項 162
6.3 函數(shù)參數(shù)的傳遞與接收 163
6.3.1 函數(shù)參數(shù)的傳遞方式 163
6.3.2 函數(shù)形參接收實參的形式 165
6.4 函數(shù)中的局部變量和全局變量 166
6.5 lambda表達(dá)式 167
6.6 生成器函數(shù) 169
6.7 自定義函數(shù)庫 170
6.8 遞歸函數(shù) 172
6.8.1 什么是遞歸函數(shù) 172
6.8.2 遞歸函數(shù)和算法 173
6.8.3 Python中的最大遞歸次數(shù) 175
6.8.4 遞歸函數(shù)舉例 175
6.8.5 遞歸與循環(huán)的關(guān)系 182
6.8.6 遞歸函數(shù)的時間效率 182
6.9 類和對象 184
6.9.1 類和對象的概念 184
6.9.2 類的定義和使用示例 184
思考題 185
第7章 Python的序列操作 188
7.1 序列結(jié)構(gòu) 188
7.2 列表及其操作 189
7.2.1 列表的標(biāo)準(zhǔn)形式 189
7.2.2 列表對象的創(chuàng)建和刪除 190
7.2.3 列表元素的讀取、修改和刪除 190
7.2.4 列表對象常用的方法 191
7.2.5 用內(nèi)置函數(shù)對列表進(jìn)行操作 195
7.2.6 用運算符對列表進(jìn)行運算 197
7.2.7 列表推導(dǎo)式 199
7.3 元組及其操作 200
7.3.1 元組的概念 200
7.3.2 元組的標(biāo)準(zhǔn)形式 201
7.3.3 元組對象的創(chuàng)建 201
7.3.4 元組元素的讀取 201
7.3.5 元組對象常用的方法 202
7.3.6 用內(nèi)置函數(shù)對元組進(jìn)行操作 202
7.3.7 用運算符對元組進(jìn)行運算 202
7.3.8 生成器推導(dǎo)式 203
7.4 字典及其操作 203
7.4.1 字典的標(biāo)準(zhǔn)形式 203
7.4.2 字典的創(chuàng)建 204
7.4.3 字典元素的添加和修改 204
7.4.4 字典元素的讀取 205
7.4.5 字典元素的刪除 206
7.4.6 字典對象常用的方法 207
7.4.7 用內(nèi)置函數(shù)對字典進(jìn)行操作 207
7.4.8 用運算符對字典進(jìn)行運算 209
7.5 集合及其操作 209
7.5.1 集合的標(biāo)準(zhǔn)形式 209
7.5.2 集合的創(chuàng)建 210
7.5.3 集合元素的添加 210
7.5.4 集合元素的刪除 210
7.5.5 集合元素的讀取 211
7.5.6 集合對象常用的方法 211
7.5.7 用內(nèi)置函數(shù)對集合進(jìn)行操作 211
7.5.8 用運算符對集合進(jìn)行運算 212
7.6 切片 212
7.6.1 切片的格式 213
7.6.2 用切片對列表的元素進(jìn)行增刪改 214
7.7 NumPy和Pandas擴展庫的簡單操作 214
7.7.1 NumPy擴展庫 214
7.7.2 Pandas擴展庫 217
7.8 序列類對象的通用操作總結(jié) 220
7.9 綜合舉例 221
7.9.1 判斷列表中有無重復(fù)元素 221
7.9.2 百分制轉(zhuǎn)五分制 222
7.9.3 中文星期名稱轉(zhuǎn)英文星期名稱 222
7.9.4 判斷某年某月有幾天 223
7.9.5 求兩個可迭代對象的笛卡爾積 223
7.9.6 查找列表中最小元素的所有位置 224
7.9.7 查找N以內(nèi)的所有素數(shù) 224
7.9.8 年份生肖(一) 226
7.9.9 農(nóng)村小孩的乳名(一) 227
7.9.10 天干地支順序配對(一) 228
7.9.11 判斷黑洞數(shù)(一) 229
7.9.12 哥德巴赫猜想(二) 230
7.9.13 信息加密(二) 231
思考題 232
第8章 字符串 234
8.1 字符串的表示 234
8.1.1 字符串界定符 234
8.1.2 轉(zhuǎn)義字符 235
8.1.3 原始字符串 236
8.1.4 字符串和字符的區(qū)分 236
8.1.5 字符串的標(biāo)準(zhǔn)形式 237
8.1.6 長字符串的表示方法 237
8.1.7 三引號注釋 238
8.2 字符串的操作 238
8.2.1 Python關(guān)于對象的通用操作 238
8.2.2 關(guān)于序列類對象的通用操作 238
8.2.3 關(guān)于有序序列類對象的通用操作 239
8.2.4 關(guān)于元素可比較的有序序列類對象的通用操作 240
8.2.5 針對字符串對象的其他操作 240
8.3 字符串方法 240
8.3.1 格式化類的方法 241
8.3.2 排版類的方法 241
8.3.3 類型判斷類的方法 242
8.3.4 查找類的方法 243
8.3.5 統(tǒng)計類的方法 244
8.3.6 首尾匹配類的方法 244
8.3.7 分割類的方法 244
8.3.8 合并類的方法 246
8.3.9 大小寫轉(zhuǎn)換類的方法 246
8.3.10 削邊類的方法 247
8.3.11 替換類的方法 247
8.3.12 編碼解碼類方法 248
8.4 字詞統(tǒng)計和中文分詞 249
8.4.1 字符統(tǒng)計 249
8.4.2 詞語統(tǒng)計 251
8.4.3 中文自動分詞和詞性標(biāo)注 253
8.5 綜合舉例 254
8.5.1 屏蔽敏感詞 254
8.5.2 年份生肖(二) 255
8.5.3 農(nóng)村小孩的乳名(二) 255
8.5.4 天干地支順序配對(二) 255
8.5.5 判斷黑洞數(shù)(二) 256
8.5.6 哥德巴赫猜想(三) 256
8.5.7 信息加密(三) 256
8.5.8 公民身份號碼 257
8.5.9 十進(jìn)制轉(zhuǎn)任意進(jìn)制 260
思考題 261
第9章 正則表達(dá)式 263
9.1 什么是正則表達(dá)式 263
9.2 正則表達(dá)式的語法 264
9.2.1 萬能符 265
9.2.2 轉(zhuǎn)義符 265
9.2.3 元字符 266
9.2.4 選字符 267
9.2.5 連字符 267
9.2.6 脫字符 268
9.2.7 簡寫符 268
9.2.8 選串符 269
9.2.9 定位符 269
9.2.10 分組符 270
9.2.11 數(shù)量符 270
9.2.12 非貪婪匹配標(biāo)識符 270
9.2.13 子表達(dá)式 271
9.2.14 預(yù)查 272
9.2.15 命名子表達(dá)式 273
9.3 在Python中使用正則表達(dá)式 273
9.3.1 re.findall函數(shù) 274
9.3.2 re.match函數(shù) 277
9.3.3 re.search函數(shù) 278
9.3.4 re.split函數(shù) 279
9.3.5 re.sub和re.subn函數(shù) 280
9.3.6 re.escape函數(shù) 280
9.3.7 re.compile函數(shù) 281
9.4 綜合舉例 282
思考題 285
第10章 文件讀寫 287
10.1 文件簡介 287
10.2 內(nèi)置函數(shù)open 288
10.2.1 open函數(shù)的參數(shù)介紹 288
10.2.2 open函數(shù)的mode參數(shù)詳解 288
10.2.3 文件對象的方法 289
10.3 文本文件的讀寫 290
10.3.1 從文本文件讀取數(shù)據(jù) 290
10.3.2 將數(shù)據(jù)寫入文本文件 291
10.3.3 用上下文管理語句with來管理文本文件讀寫 292
10.4 JSON文件的讀寫 292
10.5 CSV文件的讀寫 293
10.6 二進(jìn)制文件的讀寫 296
思考題 296
第11章 目錄與文件操作 298
11.1 文件和目錄 298
11.1.1 驅(qū)動器 298
11.1.2 目錄、文件夾、路徑 298
11.1.3 目錄名和文件名的命名規(guī)范 299
11.1.4 當(dāng)前目錄 299
11.1.5 環(huán)境變量 300
11.1.6 絕對路徑和相對路徑 300
11.1.7 可執(zhí)行程序和應(yīng)用程序 301
11.1.8 默認(rèn)應(yīng)用程序 301
11.2 文件目錄操作的有關(guān)標(biāo)準(zhǔn)庫介紹 302
11.2.1 os.path標(biāo)準(zhǔn)庫介紹 302
11.2.2 os標(biāo)準(zhǔn)庫介紹 305
11.2.3 shutil標(biāo)準(zhǔn)庫的常用函數(shù)介紹 314
11.3 文件目錄操作需要考慮的因素 315
11.4 文件目錄操作 316
11.4.1 無讀取寫入文件 317
11.4.2 讀取文件無寫入 317
11.4.3 無讀取寫入目錄 318
11.4.4 讀取目錄無寫入 318
11.4.5 讀取文件寫入文件 319
11.4.6 讀取文件寫入目錄 320
11.4.7 讀取目錄寫入文件 320
11.4.8 讀取目錄寫入目錄 321
思考題 324
第12章 常用的Python標(biāo)準(zhǔn)庫 325
12.1 collections標(biāo)準(zhǔn)庫 325
12.2 copy標(biāo)準(zhǔn)庫 327
12.3 decimal標(biāo)準(zhǔn)庫 327
12.4 fractions標(biāo)準(zhǔn)庫 328
12.5 functools標(biāo)準(zhǔn)庫 329
12.6 itertools標(biāo)準(zhǔn)庫 330
12.6.1 combinations對象 330
12.6.2 permutations對象 331
12.6.3 product對象 331
12.7 math標(biāo)準(zhǔn)庫 333
12.8 random標(biāo)準(zhǔn)庫 333
12.8.1 choice函數(shù) 334
12.8.2 randint函數(shù) 334
12.8.3 random函數(shù) 334
12.8.4 randrange函數(shù) 334
12.8.5 sample函數(shù) 335
12.8.6 shuffle函數(shù) 335
12.8.7 uniform函數(shù) 336
12.8.8 應(yīng)用示例 336
12.9 sys標(biāo)準(zhǔn)庫 337
12.9.1 獲取Python解釋器的位置 337
12.9.2 添加擴展庫搜索目錄 338
12.9.3 終止運行Python程序 338
12.9.4 獲取命令行參數(shù) 339
12.10 tempfile標(biāo)準(zhǔn)庫 342
12.10.1 功能介紹 342
12.10.2 應(yīng)用示例 344
12.11 time標(biāo)準(zhǔn)庫 344
12.11.1 有關(guān)概念 344
12.11.2 函數(shù)介紹 345
12.11.3 應(yīng)用示例 346
12.12 datetime標(biāo)準(zhǔn)庫 349
12.12.1 datetime標(biāo)準(zhǔn)庫定義的常用類 349
12.12.2 應(yīng)用示例 353
思考題 353
第二篇 排錯篇
第13章 常見錯誤類型 356
13.1 編碼錯誤 356
13.2 縮進(jìn)錯誤 357
13.2.1 不當(dāng)縮進(jìn)錯誤 357
13.2.2 混用制表符和空格 358
13.3 語法錯誤 358
13.3.1 混淆大小寫 358
13.3.2 混淆全半角 359
13.3.3 寫錯關(guān)鍵詞 359
13.3.4 括號不配對 360
13.3.5 用三引號注釋代碼塊引起語法錯誤 360
13.3.6 其他語法錯誤 361
13.4 運行錯誤 361
13.4.1 數(shù)學(xué)運算錯誤 361
13.4.2 數(shù)據(jù)類型錯誤 361
13.4.3 下標(biāo)越界錯誤 362
13.4.4 文本文件編碼錯誤 363
13.4.5 擴展庫出錯 364
13.4.6 計算機配置環(huán)境出錯 365
13.5 邏輯錯誤 367
13.5.1 循環(huán)終值設(shè)定有問題 367
13.5.2 不同用途的變量同名 367
13.5.3 不該變的變量值被改變 368
13.5.4 語句縮進(jìn)層次不清 368
13.5.5 混淆運算符的優(yōu)先級 368
13.5.6 列表賦值錯誤 369
13.5.7 調(diào)用對象的方法不加括號 370
13.5.8 算法錯誤 370
第14章 代碼調(diào)試 371
14.1 輸出對比法 371
14.2 IDLE調(diào)試法 373
14.3 裝飾器方法 375
附錄A 環(huán)境變量設(shè)置 378
附錄B 常用Python語句 383
附錄C 常用Python運算符 384
附錄D 內(nèi)置函數(shù)format 385
附錄E %格式化方法 387
附錄F 不能顯示的四字節(jié)漢字 389
附錄G PyPDF2的BUG及解決方案 391
參考文獻(xiàn) 393