Python程序設(shè)計(jì)基礎(chǔ)
定 價(jià):59.8 元
叢書名:高等院校計(jì)算機(jī)基礎(chǔ)課程新形態(tài)系列
- 作者:王靜紅 傅志斌
- 出版時(shí)間:2024/2/1
- ISBN:9787115622655
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:244
- 紙張:
- 版次:01
- 開本:16開
本書以Python知識(shí)脈絡(luò)為線索,結(jié)合Python生態(tài)系統(tǒng),通過融合傳統(tǒng)文化、歷史人文等元素的實(shí)踐案例,力求在輕松的氛圍中培養(yǎng)學(xué)習(xí)者的程序設(shè)計(jì)能力和計(jì)算思維能力。
全書共分10章,主要內(nèi)容包括搭建編程環(huán)境、基礎(chǔ)語法、流程控制語句、字符串、列表元組與字典、函數(shù)、訪問文件、處理異常、模塊與包、面向?qū)ο缶幊痰。本書各章采用模塊化組織,除了具體知識(shí)細(xì)節(jié)的梳理鋪陳,每章都會(huì)介紹相關(guān)的Python庫,并提供多個(gè)案例對全章所學(xué)知識(shí)做綜合演練,通過拓展實(shí)踐進(jìn)一步提升讀者的實(shí)操能力。
1.除介紹Python語言編程應(yīng)用外,還強(qiáng)化計(jì)算思維能力培養(yǎng),將計(jì)算思維融入具體語言實(shí)踐中。
2.各章采用模塊化組織,除了具體知識(shí),每章都會(huì)介紹相關(guān)的Python庫,之后有案例來實(shí)踐所學(xué)的知識(shí),在實(shí)踐過程中融入思維訓(xùn)練。
3.內(nèi)容詳細(xì)、案例實(shí)用。教學(xué)、習(xí)題和實(shí)踐選用的案例實(shí)用、豐富和典型。
4.豐富的配套資源。有配套在線課程,其中包括視頻講解、習(xí)題實(shí)驗(yàn)、多媒體課件、資源素材等。
王靜紅,博士,河北師范大學(xué)三級(jí)教授,河北省有突出貢獻(xiàn)中青年專家,河北省新世紀(jì)“三三三”人才,河北省信息化專家委員會(huì)委員,河北省大數(shù)據(jù)學(xué)會(huì)秘書長,國際IEEE高級(jí)會(huì)員,中國人工智能學(xué)會(huì)專委會(huì)委員,石家莊市拔尖人才,石家莊市十佳青年教師,河北省人工智能學(xué)會(huì)理事,中國計(jì)算機(jī)CCF石家莊執(zhí)委。美國常青藤大學(xué),伊利諾伊州大學(xué)厄巴納-香檳分校(UIUC)高級(jí)訪問學(xué)者。 主持的省科技攻關(guān)項(xiàng)目獲河北省科技進(jìn)步二等獎(jiǎng)。教學(xué)名師、學(xué)術(shù)帶頭人、中青年骨干教師。先后在《Pattern Recognition and Artificial Intelligence》、《Journal of Zhejiang University》、《計(jì)算機(jī)研究與發(fā)展》等國內(nèi)外科技刊物發(fā)表論文50多篇,其中30余篇被SCI、EI檢索收錄?蒲蟹较?yàn)榇髷?shù)據(jù)與數(shù)據(jù)挖掘、人工智能、模式識(shí)別、計(jì)算機(jī)應(yīng)用等。
目錄
第 1章 搭建編程環(huán)境 1
1.1 初識(shí)Python 1
1.2 理解Python解釋器 2
1.3 熟悉Python自帶的編程環(huán)境 2
1.3.1 安裝Python解釋器 2
1.3.2 Python自帶編程環(huán)境簡介 3
1.4 Python的集成開發(fā)環(huán)境簡介 5
1.4.1 PyCharm簡介 5
1.4.2 Visual Studio Code簡介 8
1.4.3 Jupyter Notebook簡介 9
1.4.4 Thonny簡介 10
1.5 Python生態(tài)之turtle庫 10
1.5.1 小海龜?shù)淖鴺?biāo)系 11
1.5.2 小海龜?shù)某S梅椒ā?2
1.6 小試牛刀 16
1.6.1 繪制一朵向日葵 16
1.6.2 繪制多彩的螺旋 17
1.7 拓展實(shí)踐:使用海龜繪制京劇臉譜 18
1.7.1 繪制前的預(yù)備工作 18
1.7.2 繪制臉譜代碼解析 19
1.7.3 為繪制的臉譜題字 21
本章小結(jié) 22
思考與練習(xí) 22
第 2章 基礎(chǔ)語法概述 23
2.1 Python語法規(guī)范 23
2.1.1 大小寫 23
2.1.2 縮進(jìn) 23
2.1.3 注釋 24
2.1.4 留白 25
2.1.5 換行 25
2.2 變量和數(shù)據(jù)類型 27
2.2.1 變量 27
2.2.2 數(shù)據(jù)類型 28
2.2.3 類型轉(zhuǎn)換 30
2.3 常見運(yùn)算符 31
2.3.1 算術(shù)運(yùn)算符 31
2.3.2 賦值運(yùn)算符 32
2.3.3 復(fù)合賦值運(yùn)算符 32
2.3.4 比較運(yùn)算符 32
2.3.5 邏輯運(yùn)算符 33
2.3.6 成員運(yùn)算符 33
2.3.7 運(yùn)算符的優(yōu)先級(jí) 34
2.4 輸入與輸出 34
2.4.1 輸出函數(shù)print() 34
2.4.2 輸入函數(shù)input() 35
2.5 Python生態(tài)之math庫 36
2.5.1 訪問math庫文檔 36
2.5.2 math庫函數(shù)舉例 37
2.6 小試牛刀 38
2.6.1 什么樣的密碼更安全 38
2.6.2 人體內(nèi)大約有多少個(gè)水分子 39
2.6.3 多一份備份,多幾分保障 39
2.6.4 如何換算座位號(hào) 40
2.6.5 日出時(shí)間是多少 40
2.7 拓展實(shí)踐:模擬自動(dòng)售貨機(jī)找零 42
2.7.1 問題描述 42
2.7.2 IPO建構(gòu)法 42
2.7.3 分解問題 42
2.7.4 編寫程序 43
2.7.5 測試代碼 44
本章小結(jié) 44
思考與練習(xí) 44
第3章 流程控制語句 45
3.1 選擇結(jié)構(gòu):if語句 45
3.1.1 if語句的基本形式 45
3.1.2 if語句中的條件表達(dá)式 48
3.1.3 if語句的嵌套 51
3.2 循環(huán)結(jié)構(gòu):while與for語句 51
3.2.1 while語句 51
3.2.2 for語句 53
3.2.3 循環(huán)結(jié)構(gòu)的嵌套 55
3.3 循環(huán)結(jié)構(gòu):break與continue語句 56
3.3.1 break語句 57
3.3.2 continue語句 58
3.3.3 循環(huán)結(jié)構(gòu)的else分支 58
3.4 pass語句 59
3.5 Python生態(tài)之random庫 60
3.5.1 隨機(jī)小數(shù) 60
3.5.2 隨機(jī)整數(shù) 61
3.5.3 隨機(jī)抽樣 61
3.5.4 洗牌 62
3.6 小試牛刀 63
3.6.1 計(jì)算人體BMI指數(shù) 63
3.6.2 伯努利試驗(yàn)不白努力 64
3.6.3 模擬布朗運(yùn)動(dòng) 65
3.6.4 羊與汽車的距離是一念之差 66
3.6.5 《少年中國說》案例進(jìn)階版 67
3.7 拓展實(shí)踐:隨機(jī)數(shù)是如何生成的 71
3.7.1 計(jì)算機(jī)中的隨機(jī)數(shù)真的隨機(jī)嗎 71
3.7.2 實(shí)現(xiàn)一個(gè)偽隨機(jī)數(shù)生成器 71
3.7.3 去掉偽隨機(jī)數(shù)算法的偽裝 72
3.7.4 衡量偽隨機(jī)數(shù)的隨機(jī)性 72
本章小結(jié) 74
思考與練習(xí) 75
第4章 字符串 76
4.1 認(rèn)識(shí)字符串 76
4.1.1 字符串 76
4.1.2 轉(zhuǎn)義字符 77
4.1.3 字符串的運(yùn)算符 78
4.1.4 字符的編碼 78
4.2 字符串的格式化 79
4.2.1 字符串的format()方法 79
4.2.2 格式化字符串字面值 81
4.2.3 Python 2.x的格式化方法 81
4.3 字符串的切片 81
4.3.1 字符串是字符構(gòu)成的序列 81
4.3.2 字符串的切片 82
4.3.3 字符串是不可修改的 83
4.4 字符串的常用方法 83
4.4.1 find()方法 84
4.4.2 index()方法 84
4.4.3 count()方法 84
4.4.4 replace()方法 85
4.4.5 split()與join()方法 85
4.5 Python生態(tài)之xml庫 86
4.5.1 XML是什么 86
4.5.2 解析XML數(shù)據(jù) 87
4.6 小試牛刀 90
4.6.1 模擬詩詞飛花令 90
4.6.2 輸出乘法口訣表 91
4.6.3 模擬傳輸校驗(yàn)碼 93
4.6.4 名畫知識(shí)問答 96
4.7 拓展實(shí)踐:綜合運(yùn)用字符串的方法 97
4.7.1 猜單詞小游戲 98
4.7.2 游戲的分析與初步實(shí)現(xiàn) 99
4.7.3 游戲代碼的完善 102
本章小結(jié) 104
思考與練習(xí) 105
第5章 列表、元組與字典 106
5.1 列表 106
5.1.1 認(rèn)識(shí)列表 106
5.1.2 遍歷列表 108
5.1.3 列表的運(yùn)算符 109
5.2 列表元素的操作 109
5.2.1 元素最值 110
5.2.2 增加元素 110
5.2.3 修改元素 111
5.2.4 刪除元素 111
5.2.5 元素排序 114
5.3 元組 115
5.3.1 認(rèn)識(shí)元組 115
5.3.2 遍歷元組 115
5.4 字典 116
5.4.1 認(rèn)識(shí)字典 116
5.4.2 字典的常見操作 117
5.5 Python生態(tài)之jieba庫 121
5.5.1 jieba庫的安裝 121
5.5.2 分詞的基本操作 121
5.5.3 詞頻統(tǒng)計(jì) 122
5.6 小試牛刀 124
5.6.1 隨機(jī)分配辦公室 124
5.6.2 模擬婚介 125
5.6.3 模擬抽獎(jiǎng) 126
5.6.4 誰是天際社交達(dá)人 127
5.7 拓展實(shí)踐:讓機(jī)器理解文章的相似性 130
5.7.1 文本的精確比對 130
5.7.2 相似度與散點(diǎn)圖 130
5.7.3 散點(diǎn)圖的實(shí)現(xiàn) 131
5.7.4 自然語言處理與人工智能 138
本章小結(jié) 139
思考與練習(xí) 139
第6章 函數(shù) 140
6.1 函數(shù)的定義和調(diào)用 140
6.1.1 函數(shù)定義 140
6.1.2 函數(shù)的意義 141
6.1.3 函數(shù)的調(diào)用 143
6.1.4 函數(shù)的幫助信息 145
6.2 函數(shù)的參數(shù)與返回值 146
6.2.1 深入理解參數(shù) 146
6.2.2 函數(shù)的返回值 149
6.2.3 四種函數(shù)類型 151
6.3 函數(shù)的嵌套調(diào)用與變量作用域 152
6.3.1 函數(shù)的嵌套調(diào)用 152
6.3.2 變量的作用域 155
6.4 遞歸 159
6.4.1 函數(shù)的遞歸 159
6.4.2 理解遞歸思想 160
6.4.3 日常生活中的遞歸 161
6.5 Python生態(tài)之time庫 162
6.5.1 時(shí)間戳 162
6.5.2 時(shí)間結(jié)構(gòu)體與格式符 162
6.5.3 其他常用時(shí)間函數(shù) 164
6.6 小試牛刀 165
6.6.1 使用迭代公式求π 165
6.6.2 模擬比薩計(jì)價(jià) 166
6.6.3 重構(gòu)蒙提霍爾三門問題 167
6.6.4 判斷元素個(gè)數(shù)是否為偶數(shù) 168
6.6.5 模擬二十四節(jié)氣倒計(jì)時(shí) 168
6.7 拓展實(shí)踐:利用遞歸繪制分形圖案 171
6.7.1 什么是分形圖案 171
6.7.2 繪制一棵樹 172
6.7.3 繪制科克曲線 176
本章小結(jié) 178
思考與練習(xí) 178
第7章 訪問文件 179
7.1 文件的使用流程 179
7.1.1 為什么要使用文件 179
7.1.2 如何使用文件 179
7.1.3 open()函數(shù)的使用 179
7.2 文件的讀寫操作 181
7.2.1 讀取文本文件 181
7.2.2 寫入文本文件 182
7.2.3 with語句 183
7.3 Python生態(tài)之os庫 183
7.3.1 文件改名 184
7.3.2 刪除文件 184
7.3.3 文件夾相關(guān)操作 184
7.4 小試牛刀 186
7.4.1 使用配置文件保存比薩定價(jià) 186
7.4.2 去掉重復(fù)姓名 187
7.4.3 文件批量重命名 188
7.5 拓展實(shí)踐:根據(jù)訂單數(shù)據(jù)生成銷售報(bào)告 189
7.5.1 問題描述 189
7.5.2 思路分析 190
7.5.3 代碼實(shí)現(xiàn) 190
本章小結(jié) 192
思考與練習(xí) 192
第8章 處理異!194
8.1 異常的基礎(chǔ)知識(shí) 194
8.1.1 異常是什么 194
8.1.2 異常處理的語法結(jié)構(gòu) 194
8.2 異常的種類 197
8.2.1 內(nèi)置的常見異常種類 197
8.2.2 Exception異常類 197
8.2.3 自定義異常 198
8.3 主動(dòng)拋出異!198
8.3.1 用raise語句上報(bào)異常 198
8.3.2 用assert語句調(diào)試程序 199
8.4 Python生態(tài)之shutil庫 200
8.4.1 使用copy()函數(shù)復(fù)制文件 200
8.4.2 使用copy2()函數(shù)復(fù)制文件的元數(shù)據(jù) 201
8.4.3 shutil庫的其他函數(shù)簡介 202
8.5 小試牛刀 202
8.5.1 繪制歷史名人時(shí)間線 202
8.5.2 批量歸納圖片文件 205
8.6 拓展實(shí)踐:給程序做個(gè)彩超 207
8.6.1 百思不得其解的bug 207
8.6.2 使用斷點(diǎn)逐步調(diào)試程序 208
本章小結(jié) 211
思考與練習(xí) 211
第9章 模塊與包 212
9.1 模塊與包的本質(zhì) 212
9.2 庫的安裝與導(dǎo)入 213
9.2.1 使用pip安裝第三方庫 213
9.2.2 導(dǎo)入模塊的不同形式 214
9.3 Python生態(tài) 之Pygame庫 216
9.3.1 初識(shí)Pygame 216
9.3.2 搭建游戲主框架 216
9.3.3 完善游戲細(xì)節(jié) 217
9.4 小試牛刀 221
9.4.1 游戲預(yù)備工作 221
9.4.2 游戲主循環(huán) 223
9.5 拓展實(shí)踐:使用模塊組織代碼 226
9.5.1 多樣的投票模式 226
9.5.2 一個(gè)具體的投票問題 226
9.5.3 模塊vote_tools 227
9.5.4 模塊vote_methods 228
9.5.5 導(dǎo)入自定義的模塊 230
本章小結(jié) 231
思考與練習(xí) 231
第 10章 面向?qū)ο缶幊獭?32
10.1 面向?qū)ο蠛喗椤?32
10.2 類、對象與封裝 234
10.2.1 定義一個(gè)類 234
10.2.2 對象實(shí)例化過程 235
10.2.3 訪問控制 236
10.3 繼承與多態(tài) 237
10.3.1 繼承的基本形式 237
10.3.2 方法的覆蓋 239
10.3.3 多態(tài)和鴨子類型 240
10.4 Python生態(tài)之tkinter庫 241
10.4.1 初識(shí)tkinter 241
10.4.2 生成窗體與標(biāo)簽 242
10.4.3 生成文本框與按鈕 243
10.5 小試牛刀 244
10.5.1 使用類重構(gòu)歷史時(shí)間線案例 244
10.5.2 使用tkinter設(shè)計(jì)打地鼠游戲 246
10.6 拓展實(shí)踐:試一把面向?qū)ο缶幊獭?50
10.6.1 識(shí)別對象與類 250
10.6.2 使用設(shè)計(jì)模式 251
10.6.3 使用模塊和包 252
本章小結(jié) 253
思考與練習(xí) 254