定 價:59.8 元
叢書名:高等院校計算機基礎課程新形態(tài)系列
- 作者:王靜紅 傅志斌
- 出版時間:2024/2/1
- ISBN:9787115622655
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.561
- 頁碼:244
- 紙張:
- 版次:01
- 開本:16開
本書以Python知識脈絡為線索,結合Python生態(tài)系統(tǒng),通過融合傳統(tǒng)文化、歷史人文等元素的實踐案例,力求在輕松的氛圍中培養(yǎng)學習者的程序設計能力和計算思維能力。
全書共分10章,主要內(nèi)容包括搭建編程環(huán)境、基礎語法、流程控制語句、字符串、列表元組與字典、函數(shù)、訪問文件、處理異常、模塊與包、面向對象編程等。本書各章采用模塊化組織,除了具體知識細節(jié)的梳理鋪陳,每章都會介紹相關的Python庫,并提供多個案例對全章所學知識做綜合演練,通過拓展實踐進一步提升讀者的實操能力。
1.除介紹Python語言編程應用外,還強化計算思維能力培養(yǎng),將計算思維融入具體語言實踐中。
2.各章采用模塊化組織,除了具體知識,每章都會介紹相關的Python庫,之后有案例來實踐所學的知識,在實踐過程中融入思維訓練。
3.內(nèi)容詳細、案例實用。教學、習題和實踐選用的案例實用、豐富和典型。
4.豐富的配套資源。有配套在線課程,其中包括視頻講解、習題實驗、多媒體課件、資源素材等。
王靜紅,博士,河北師范大學三級教授,河北省有突出貢獻中青年專家,河北省新世紀“三三三”人才,河北省信息化專家委員會委員,河北省大數(shù)據(jù)學會秘書長,國際IEEE高級會員,中國人工智能學會專委會委員,石家莊市拔尖人才,石家莊市十佳青年教師,河北省人工智能學會理事,中國計算機CCF石家莊執(zhí)委。美國常青藤大學,伊利諾伊州大學厄巴納-香檳分校(UIUC)高級訪問學者。 主持的省科技攻關項目獲河北省科技進步二等獎。教學名師、學術帶頭人、中青年骨干教師。先后在《Pattern Recognition and Artificial Intelligence》、《Journal of Zhejiang University》、《計算機研究與發(fā)展》等國內(nèi)外科技刊物發(fā)表論文50多篇,其中30余篇被SCI、EI檢索收錄?蒲蟹较驗榇髷(shù)據(jù)與數(shù)據(jù)挖掘、人工智能、模式識別、計算機應用等。
目錄
第 1章 搭建編程環(huán)境 1
1.1 初識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ù)淖鴺讼怠?1
1.5.2 小海龜?shù)某S梅椒ā?2
1.6 小試牛刀 16
1.6.1 繪制一朵向日葵 16
1.6.2 繪制多彩的螺旋 17
1.7 拓展實踐:使用海龜繪制京劇臉譜 18
1.7.1 繪制前的預備工作 18
1.7.2 繪制臉譜代碼解析 19
1.7.3 為繪制的臉譜題字 21
本章小結 22
思考與練習 22
第 2章 基礎語法概述 23
2.1 Python語法規(guī)范 23
2.1.1 大小寫 23
2.1.2 縮進 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 類型轉換 30
2.3 常見運算符 31
2.3.1 算術運算符 31
2.3.2 賦值運算符 32
2.3.3 復合賦值運算符 32
2.3.4 比較運算符 32
2.3.5 邏輯運算符 33
2.3.6 成員運算符 33
2.3.7 運算符的優(yōu)先級 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)大約有多少個水分子 39
2.6.3 多一份備份,多幾分保障 39
2.6.4 如何換算座位號 40
2.6.5 日出時間是多少 40
2.7 拓展實踐:模擬自動售貨機找零 42
2.7.1 問題描述 42
2.7.2 IPO建構法 42
2.7.3 分解問題 42
2.7.4 編寫程序 43
2.7.5 測試代碼 44
本章小結 44
思考與練習 44
第3章 流程控制語句 45
3.1 選擇結構:if語句 45
3.1.1 if語句的基本形式 45
3.1.2 if語句中的條件表達式 48
3.1.3 if語句的嵌套 51
3.2 循環(huán)結構:while與for語句 51
3.2.1 while語句 51
3.2.2 for語句 53
3.2.3 循環(huán)結構的嵌套 55
3.3 循環(huán)結構:break與continue語句 56
3.3.1 break語句 57
3.3.2 continue語句 58
3.3.3 循環(huán)結構的else分支 58
3.4 pass語句 59
3.5 Python生態(tài)之random庫 60
3.5.1 隨機小數(shù) 60
3.5.2 隨機整數(shù) 61
3.5.3 隨機抽樣 61
3.5.4 洗牌 62
3.6 小試牛刀 63
3.6.1 計算人體BMI指數(shù) 63
3.6.2 伯努利試驗不白努力 64
3.6.3 模擬布朗運動 65
3.6.4 羊與汽車的距離是一念之差 66
3.6.5 《少年中國說》案例進階版 67
3.7 拓展實踐:隨機數(shù)是如何生成的 71
3.7.1 計算機中的隨機數(shù)真的隨機嗎 71
3.7.2 實現(xiàn)一個偽隨機數(shù)生成器 71
3.7.3 去掉偽隨機數(shù)算法的偽裝 72
3.7.4 衡量偽隨機數(shù)的隨機性 72
本章小結 74
思考與練習 75
第4章 字符串 76
4.1 認識字符串 76
4.1.1 字符串 76
4.1.2 轉義字符 77
4.1.3 字符串的運算符 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 字符串是字符構成的序列 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 模擬傳輸校驗碼 93
4.6.4 名畫知識問答 96
4.7 拓展實踐:綜合運用字符串的方法 97
4.7.1 猜單詞小游戲 98
4.7.2 游戲的分析與初步實現(xiàn) 99
4.7.3 游戲代碼的完善 102
本章小結 104
思考與練習 105
第5章 列表、元組與字典 106
5.1 列表 106
5.1.1 認識列表 106
5.1.2 遍歷列表 108
5.1.3 列表的運算符 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 認識元組 115
5.3.2 遍歷元組 115
5.4 字典 116
5.4.1 認識字典 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)計 122
5.6 小試牛刀 124
5.6.1 隨機分配辦公室 124
5.6.2 模擬婚介 125
5.6.3 模擬抽獎 126
5.6.4 誰是天際社交達人 127
5.7 拓展實踐:讓機器理解文章的相似性 130
5.7.1 文本的精確比對 130
5.7.2 相似度與散點圖 130
5.7.3 散點圖的實現(xiàn) 131
5.7.4 自然語言處理與人工智能 138
本章小結 139
思考與練習 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 時間戳 162
6.5.2 時間結構體與格式符 162
6.5.3 其他常用時間函數(shù) 164
6.6 小試牛刀 165
6.6.1 使用迭代公式求π 165
6.6.2 模擬比薩計價 166
6.6.3 重構蒙提霍爾三門問題 167
6.6.4 判斷元素個數(shù)是否為偶數(shù) 168
6.6.5 模擬二十四節(jié)氣倒計時 168
6.7 拓展實踐:利用遞歸繪制分形圖案 171
6.7.1 什么是分形圖案 171
6.7.2 繪制一棵樹 172
6.7.3 繪制科克曲線 176
本章小結 178
思考與練習 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 文件夾相關操作 184
7.4 小試牛刀 186
7.4.1 使用配置文件保存比薩定價 186
7.4.2 去掉重復姓名 187
7.4.3 文件批量重命名 188
7.5 拓展實踐:根據(jù)訂單數(shù)據(jù)生成銷售報告 189
7.5.1 問題描述 189
7.5.2 思路分析 190
7.5.3 代碼實現(xiàn) 190
本章小結 192
思考與練習 192
第8章 處理異!194
8.1 異常的基礎知識 194
8.1.1 異常是什么 194
8.1.2 異常處理的語法結構 194
8.2 異常的種類 197
8.2.1 內(nèi)置的常見異常種類 197
8.2.2 Exception異常類 197
8.2.3 自定義異!198
8.3 主動拋出異!198
8.3.1 用raise語句上報異!198
8.3.2 用assert語句調(diào)試程序 199
8.4 Python生態(tài)之shutil庫 200
8.4.1 使用copy()函數(shù)復制文件 200
8.4.2 使用copy2()函數(shù)復制文件的元數(shù)據(jù) 201
8.4.3 shutil庫的其他函數(shù)簡介 202
8.5 小試牛刀 202
8.5.1 繪制歷史名人時間線 202
8.5.2 批量歸納圖片文件 205
8.6 拓展實踐:給程序做個彩超 207
8.6.1 百思不得其解的bug 207
8.6.2 使用斷點逐步調(diào)試程序 208
本章小結 211
思考與練習 211
第9章 模塊與包 212
9.1 模塊與包的本質 212
9.2 庫的安裝與導入 213
9.2.1 使用pip安裝第三方庫 213
9.2.2 導入模塊的不同形式 214
9.3 Python生態(tài) 之Pygame庫 216
9.3.1 初識Pygame 216
9.3.2 搭建游戲主框架 216
9.3.3 完善游戲細節(jié) 217
9.4 小試牛刀 221
9.4.1 游戲預備工作 221
9.4.2 游戲主循環(huán) 223
9.5 拓展實踐:使用模塊組織代碼 226
9.5.1 多樣的投票模式 226
9.5.2 一個具體的投票問題 226
9.5.3 模塊vote_tools 227
9.5.4 模塊vote_methods 228
9.5.5 導入自定義的模塊 230
本章小結 231
思考與練習 231
第 10章 面向對象編程 232
10.1 面向對象簡介 232
10.2 類、對象與封裝 234
10.2.1 定義一個類 234
10.2.2 對象實例化過程 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 初識tkinter 241
10.4.2 生成窗體與標簽 242
10.4.3 生成文本框與按鈕 243
10.5 小試牛刀 244
10.5.1 使用類重構歷史時間線案例 244
10.5.2 使用tkinter設計打地鼠游戲 246
10.6 拓展實踐:試一把面向對象編程 250
10.6.1 識別對象與類 250
10.6.2 使用設計模式 251
10.6.3 使用模塊和包 252
本章小結 253
思考與練習 254