Python程序設(shè)計(jì)(基于計(jì)算思維和新文科建設(shè))
定 價(jià):68 元
- 作者:胡鳳國(guó)
- 出版時(shí)間:2022/6/1
- ISBN:9787121435577
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP311.561
- 頁(yè)碼:416
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書是面向初學(xué)者的Python入門書,強(qiáng)調(diào)基礎(chǔ)知識(shí),兼顧實(shí)踐應(yīng)用。 基礎(chǔ)篇介紹Python程序設(shè)計(jì)的入門知識(shí),共12章,重點(diǎn)包括:Python介紹、安裝和運(yùn)行;Python的基本概念(對(duì)象、數(shù)據(jù)類型、變量、表達(dá)式、內(nèi)置函數(shù));輸入和輸出;程序設(shè)計(jì)的基本結(jié)構(gòu);函數(shù)和類;序列操作(列表、元組、集合、字典);字符串;正則表達(dá)式;文件讀寫;目錄與文件操作;常用標(biāo)準(zhǔn)庫(kù)。排錯(cuò)篇總結(jié)初學(xué)者常遇到的錯(cuò)誤并介紹程序調(diào)試方法,包含2章:Python錯(cuò)誤類型、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í)參考。
胡鳳國(guó),男,中國(guó)傳媒大學(xué)副教授,中國(guó)中文信息處理學(xué)會(huì)會(huì)員,省部級(jí)項(xiàng)目面向語(yǔ)言監(jiān)測(cè)的漢語(yǔ)自動(dòng)分詞標(biāo)注系統(tǒng)研究負(fù)責(zé)人,國(guó)社科項(xiàng)目計(jì)算語(yǔ)言學(xué)方法研究成員,漢語(yǔ)復(fù)雜網(wǎng)絡(luò)研究成員。
目 錄
第一篇 基礎(chǔ)篇
第1章 Python介紹 2
1.1 什么是Python 2
1.1.1 有一種編程語(yǔ)言叫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的安裝和運(yùn)行 9
2.1 安裝Python軟件 9
2.1.1 軟件下載 9
2.1.2 安裝 11
2.1.3 測(cè)試 15
2.2 運(yùn)行Python代碼 19
2.2.1 交互式運(yùn)行 19
2.2.2 腳本式運(yùn)行 21
2.2.3 命令行運(yùn)行 23
2.2.4 擴(kuò)展式運(yùn)行 25
2.2.5 運(yùn)行Python代碼的誤區(qū) 25
2.2.6 合法的Python語(yǔ)句 25
2.3 Python代碼書寫規(guī)范 28
2.4 Python擴(kuò)展庫(kù)和標(biāo)準(zhǔn)庫(kù) 32
2.4.1 擴(kuò)展庫(kù)的安裝 32
2.4.2 標(biāo)準(zhǔn)庫(kù)和擴(kuò)展庫(kù)的使用 37
第3章 Python的基本概念 40
3.1 數(shù)據(jù)和數(shù)據(jù)類型 40
3.1.1 數(shù)據(jù)與對(duì)象 40
3.1.2 數(shù)據(jù)類型 41
3.2 變量與關(guān)鍵字 52
3.2.1 對(duì)象的存儲(chǔ) 52
3.2.2 變量 52
3.2.3 關(guān)鍵字 56
3.3 運(yùn)算符和表達(dá)式 57
3.3.1 常量數(shù)據(jù)和變量數(shù)據(jù) 57
3.3.2 運(yùn)算符 57
3.3.3 表達(dá)式 70
3.4 內(nèi)置函數(shù)和內(nèi)置對(duì)象 72
3.4.1 內(nèi)置函數(shù) 72
3.4.2 內(nèi)置對(duì)象 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 處理輸入錯(cuò)誤 89
4.2 數(shù)據(jù)輸出 91
4.2.1 最簡(jiǎn)單的數(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 韓信點(diǎn)兵(一) 104
4.3.4 換酒問(wèn)題(一) 104
4.3.5 最大公約數(shù)(一) 105
4.3.6 交換兩個(gè)變量的值 106
思考題 106
第5章 基本程序結(jié)構(gòu) 109
5.1 結(jié)構(gòu)化程序設(shè)計(jì) 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語(yǔ)句 126
5.4.4 break語(yǔ)句 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 韓信點(diǎn)兵(二) 132
5.6.4 換酒問(wèn)題(二) 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ù)返回值的注意事項(xiàng) 162
6.3 函數(shù)參數(shù)的傳遞與接收 163
6.3.1 函數(shù)參數(shù)的傳遞方式 163
6.3.2 函數(shù)形參接收實(shí)參的形式 165
6.4 函數(shù)中的局部變量和全局變量 166
6.5 lambda表達(dá)式 167
6.6 生成器函數(shù) 169
6.7 自定義函數(shù)庫(kù) 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ù)的時(shí)間效率 182
6.9 類和對(duì)象 184
6.9.1 類和對(duì)象的概念 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 列表對(duì)象的創(chuàng)建和刪除 190
7.2.3 列表元素的讀取、修改和刪除 190
7.2.4 列表對(duì)象常用的方法 191
7.2.5 用內(nèi)置函數(shù)對(duì)列表進(jìn)行操作 195
7.2.6 用運(yùn)算符對(duì)列表進(jìn)行運(yù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 元組對(duì)象的創(chuàng)建 201
7.3.4 元組元素的讀取 201
7.3.5 元組對(duì)象常用的方法 202
7.3.6 用內(nèi)置函數(shù)對(duì)元組進(jìn)行操作 202
7.3.7 用運(yùn)算符對(duì)元組進(jìn)行運(yù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 字典對(duì)象常用的方法 207
7.4.7 用內(nèi)置函數(shù)對(duì)字典進(jìn)行操作 207
7.4.8 用運(yùn)算符對(duì)字典進(jìn)行運(yù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 集合對(duì)象常用的方法 211
7.5.7 用內(nèi)置函數(shù)對(duì)集合進(jìn)行操作 211
7.5.8 用運(yùn)算符對(duì)集合進(jìn)行運(yùn)算 212
7.6 切片 212
7.6.1 切片的格式 213
7.6.2 用切片對(duì)列表的元素進(jìn)行增刪改 214
7.7 NumPy和Pandas擴(kuò)展庫(kù)的簡(jiǎn)單操作 214
7.7.1 NumPy擴(kuò)展庫(kù) 214
7.7.2 Pandas擴(kuò)展庫(kù) 217
7.8 序列類對(duì)象的通用操作總結(jié) 220
7.9 綜合舉例 221
7.9.1 判斷列表中有無(wú)重復(fù)元素 221
7.9.2 百分制轉(zhuǎn)五分制 222
7.9.3 中文星期名稱轉(zhuǎn)英文星期名稱 222
7.9.4 判斷某年某月有幾天 223
7.9.5 求兩個(gè)可迭代對(duì)象的笛卡爾積 223
7.9.6 查找列表中最小元素的所有位置 224
7.9.7 查找N以內(nèi)的所有素?cái)?shù) 224
7.9.8 年份生肖(一) 226
7.9.9 農(nóng)村小孩的乳名(一) 227
7.9.10 天干地支順序配對(duì)(一) 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 長(zhǎng)字符串的表示方法 237
8.1.7 三引號(hào)注釋 238
8.2 字符串的操作 238
8.2.1 Python關(guān)于對(duì)象的通用操作 238
8.2.2 關(guān)于序列類對(duì)象的通用操作 238
8.2.3 關(guān)于有序序列類對(duì)象的通用操作 239
8.2.4 關(guān)于元素可比較的有序序列類對(duì)象的通用操作 240
8.2.5 針對(duì)字符串對(duì)象的其他操作 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)計(jì)類的方法 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)計(jì)和中文分詞 249
8.4.1 字符統(tǒng)計(jì) 249
8.4.2 詞語(yǔ)統(tǒng)計(jì) 251
8.4.3 中文自動(dòng)分詞和詞性標(biāo)注 253
8.5 綜合舉例 254
8.5.1 屏蔽敏感詞 254
8.5.2 年份生肖(二) 255
8.5.3 農(nóng)村小孩的乳名(二) 255
8.5.4 天干地支順序配對(duì)(二) 255
8.5.5 判斷黑洞數(shù)(二) 256
8.5.6 哥德巴赫猜想(三) 256
8.5.7 信息加密(三) 256
8.5.8 公民身份號(hào)碼 257
8.5.9 十進(jìn)制轉(zhuǎn)任意進(jìn)制 260
思考題 261
第9章 正則表達(dá)式 263
9.1 什么是正則表達(dá)式 263
9.2 正則表達(dá)式的語(yǔ)法 264
9.2.1 萬(wàn)能符 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 簡(jiǎn)寫符 268
9.2.8 選串符 269
9.2.9 定位符 269
9.2.10 分組符 270
9.2.11 數(shù)量符 270
9.2.12 非貪婪匹配標(biāo)識(shí)符 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 文件簡(jiǎn)介 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 文件對(duì)象的方法 289
10.3 文本文件的讀寫 290
10.3.1 從文本文件讀取數(shù)據(jù) 290
10.3.2 將數(shù)據(jù)寫入文本文件 291
10.3.3 用上下文管理語(yǔ)句with來(lái)管理文本文件讀寫 292
10.4 JSON文件的讀寫 292
10.5 CSV文件的讀寫 293
10.6 二進(jìn)制文件的讀寫 296
思考題 296
第11章 目錄與文件操作 298
11.1 文件和目錄 298
11.1.1 驅(qū)動(dòng)器 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 絕對(duì)路徑和相對(duì)路徑 300
11.1.7 可執(zhí)行程序和應(yīng)用程序 301
11.1.8 默認(rèn)應(yīng)用程序 301
11.2 文件目錄操作的有關(guān)標(biāo)準(zhǔn)庫(kù)介紹 302
11.2.1 os.path標(biāo)準(zhǔn)庫(kù)介紹 302
11.2.2 os標(biāo)準(zhǔn)庫(kù)介紹 305
11.2.3 shutil標(biāo)準(zhǔn)庫(kù)的常用函數(shù)介紹 314
11.3 文件目錄操作需要考慮的因素 315
11.4 文件目錄操作 316
11.4.1 無(wú)讀取寫入文件 317
11.4.2 讀取文件無(wú)寫入 317
11.4.3 無(wú)讀取寫入目錄 318
11.4.4 讀取目錄無(wú)寫入 318
11.4.5 讀取文件寫入文件 319
11.4.6 讀取文件寫入目錄 320
11.4.7 讀取目錄寫入文件 320
11.4.8 讀取目錄寫入目錄 321
思考題 324
第12章 常用的Python標(biāo)準(zhǔn)庫(kù) 325
12.1 collections標(biāo)準(zhǔn)庫(kù) 325
12.2 copy標(biāo)準(zhǔn)庫(kù) 327
12.3 decimal標(biāo)準(zhǔn)庫(kù) 327
12.4 fractions標(biāo)準(zhǔn)庫(kù) 328
12.5 functools標(biāo)準(zhǔn)庫(kù) 329
12.6 itertools標(biāo)準(zhǔn)庫(kù) 330
12.6.1 combinations對(duì)象 330
12.6.2 permutations對(duì)象 331
12.6.3 product對(duì)象 331
12.7 math標(biāo)準(zhǔn)庫(kù) 333
12.8 random標(biāo)準(zhǔn)庫(kù) 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)庫(kù) 337
12.9.1 獲取Python解釋器的位置 337
12.9.2 添加擴(kuò)展庫(kù)搜索目錄 338
12.9.3 終止運(yùn)行Python程序 338
12.9.4 獲取命令行參數(shù) 339
12.10 tempfile標(biāo)準(zhǔn)庫(kù) 342
12.10.1 功能介紹 342
12.10.2 應(yīng)用示例 344
12.11 time標(biāo)準(zhǔn)庫(kù) 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)庫(kù) 349
12.12.1 datetime標(biāo)準(zhǔn)庫(kù)定義的常用類 349
12.12.2 應(yīng)用示例 353
思考題 353
第二篇 排錯(cuò)篇
第13章 常見(jiàn)錯(cuò)誤類型 356
13.1 編碼錯(cuò)誤 356
13.2 縮進(jìn)錯(cuò)誤 357
13.2.1 不當(dāng)縮進(jìn)錯(cuò)誤 357
13.2.2 混用制表符和空格 358
13.3 語(yǔ)法錯(cuò)誤 358
13.3.1 混淆大小寫 358
13.3.2 混淆全半角 359
13.3.3 寫錯(cuò)關(guān)鍵詞 359
13.3.4 括號(hào)不配對(duì) 360
13.3.5 用三引號(hào)注釋代碼塊引起語(yǔ)法錯(cuò)誤 360
13.3.6 其他語(yǔ)法錯(cuò)誤 361
13.4 運(yùn)行錯(cuò)誤 361
13.4.1 數(shù)學(xué)運(yùn)算錯(cuò)誤 361
13.4.2 數(shù)據(jù)類型錯(cuò)誤 361
13.4.3 下標(biāo)越界錯(cuò)誤 362
13.4.4 文本文件編碼錯(cuò)誤 363
13.4.5 擴(kuò)展庫(kù)出錯(cuò) 364
13.4.6 計(jì)算機(jī)配置環(huán)境出錯(cuò) 365
13.5 邏輯錯(cuò)誤 367
13.5.1 循環(huán)終值設(shè)定有問(wèn)題 367
13.5.2 不同用途的變量同名 367
13.5.3 不該變的變量值被改變 368
13.5.4 語(yǔ)句縮進(jìn)層次不清 368
13.5.5 混淆運(yùn)算符的優(yōu)先級(jí) 368
13.5.6 列表賦值錯(cuò)誤 369
13.5.7 調(diào)用對(duì)象的方法不加括號(hào) 370
13.5.8 算法錯(cuò)誤 370
第14章 代碼調(diào)試 371
14.1 輸出對(duì)比法 371
14.2 IDLE調(diào)試法 373
14.3 裝飾器方法 375
附錄A 環(huán)境變量設(shè)置 378
附錄B 常用Python語(yǔ)句 383
附錄C 常用Python運(yùn)算符 384
附錄D 內(nèi)置函數(shù)format 385
附錄E %格式化方法 387
附錄F 不能顯示的四字節(jié)漢字 389
附錄G PyPDF2的BUG及解決方案 391
參考文獻(xiàn) 393