看漫畫(huà)學(xué)Python:有趣、有料、好玩、好用(全彩)(第3版)
定 價(jià):109 元
- 作者:關(guān)東升
- 出版時(shí)間:2025/10/1
- ISBN:9787121512988
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TP311.561-64
- 頁(yè)碼:308
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
Python是一門(mén)既簡(jiǎn)單易學(xué)又功能強(qiáng)大的編程語(yǔ)言,被廣泛應(yīng)用于數(shù)據(jù)分析、大數(shù)據(jù)處理、網(wǎng)絡(luò)爬蟲(chóng)、自動(dòng)化運(yùn)維、科學(xué)計(jì)算和人工智能等領(lǐng)域。Python的重要性日益凸顯,已被納入國(guó)家計(jì)算機(jī)等級(jí)考試科目,許多中小學(xué)也開(kāi)設(shè)了Python編程課程。本書(shū)秉承有趣、有料、好玩、好用的理念,通過(guò)3個(gè)漫畫(huà)人物的輕松對(duì)話、生動(dòng)形象和夸張動(dòng)作,將復(fù)雜的Python技術(shù)問(wèn)題簡(jiǎn)單化解。本書(shū)共計(jì)17章。第1章講解Python的歷史和特點(diǎn),并進(jìn)行開(kāi)發(fā)環(huán)境搭建;第2~5章講解Python的基礎(chǔ)語(yǔ)法,包括數(shù)據(jù)類(lèi)型、運(yùn)算符和程序流程控制等;第6~7章講解容器類(lèi)型的數(shù)據(jù)和字符串操作;第8~11章講解函數(shù)、類(lèi)與對(duì)象、異常處理和常用的內(nèi)置模塊;第12~16章講解Python實(shí)用庫(kù)的應(yīng)用,包括文件讀寫(xiě)、圖形界面設(shè)計(jì)、網(wǎng)絡(luò)通信、數(shù)據(jù)庫(kù)訪問(wèn)和多線程等,其中使用了Python自帶的GUI開(kāi)發(fā)工具包Tkinter進(jìn)行GUI開(kāi)發(fā),能有效降低學(xué)習(xí)門(mén)檻,提升實(shí)踐體驗(yàn);第17章講解算法入門(mén)知識(shí),包括排序算法、查找算法和遞歸等,幫助讀者培養(yǎng)邏輯思維能力。本書(shū)基本在每一章中都安排了“動(dòng)動(dòng)手”“課后練習(xí)”和“編程挑戰(zhàn)”環(huán)節(jié),讀者可在這些環(huán)節(jié)找到應(yīng)用實(shí)例和同步練習(xí)題。
關(guān)東升一個(gè)在IT領(lǐng)域摸爬滾打20多年的老程序員、軟件架構(gòu)師、高級(jí)培訓(xùn)講師、IT作家。熟悉Java、Kotlin、Python、iOS、Android、游戲開(kāi)發(fā)、數(shù)據(jù)庫(kù)開(kāi)發(fā)與設(shè)計(jì)、軟件架構(gòu)設(shè)計(jì)等多種IT技術(shù)。參與設(shè)計(jì)和開(kāi)發(fā)北京市公交一卡通百億級(jí)大型項(xiàng)目,開(kāi)發(fā)國(guó)家農(nóng)產(chǎn)品追溯系統(tǒng)、金融系統(tǒng)、微博等移動(dòng)客戶端項(xiàng)目。近期為中國(guó)移動(dòng)、中國(guó)聯(lián)通、南方航空、中國(guó)石油、工商銀行、平安銀行和天津港務(wù)局等企事業(yè)單位授課。著有《看漫畫(huà)學(xué)Python》《看漫畫(huà)學(xué)Python 2》《趣玩Python》《Java從小白到大!贰禟otlin從小白到大牛》《Python從小白到大!返40多部計(jì)算機(jī)書(shū)籍。趙大羽用戶體驗(yàn)設(shè)計(jì)師,UI及交互設(shè)計(jì)專(zhuān)家,企業(yè)內(nèi)訓(xùn)講師及咨詢顧問(wèn)。畢業(yè)于清華大學(xué)美術(shù)學(xué)院,曾為摩托羅拉、上海通用別克、寶潔、西門(mén)子等企業(yè)提供設(shè)計(jì)工作;為華為、聯(lián)想、惠普、攜程、咪咕傳媒、愛(ài)普生等企業(yè)提供用戶體驗(yàn)咨詢服務(wù)及設(shè)計(jì)培訓(xùn);著有書(shū)籍《品味移動(dòng)設(shè)計(jì)》《交互設(shè)計(jì)的藝術(shù)》。
第1章 油箱加滿!準(zhǔn)備出發(fā)! / 1
1.1 Python的歷史 / 2
1.2 Python的特點(diǎn) / 3
1.3 安裝Python / 4
1.4 動(dòng)動(dòng)手——編寫(xiě)和運(yùn)行一個(gè)HelloWorld程序 / 5
1.4.1 交互方式 / 6
1.4.2 文件方式 / 7
1.5 課后練習(xí) / 11
1.6 編程挑戰(zhàn) / 11
第2章 編程基礎(chǔ)那點(diǎn)事兒 / 12
2.1 標(biāo)識(shí)符 / 13
2.2 關(guān)鍵字 / 14
2.3 變量 / 14
2.4 語(yǔ)句 / 15
2.5 注釋 / 16
2.6 模塊 / 16
2.7 動(dòng)動(dòng)手——實(shí)現(xiàn)兩個(gè)模塊間的代碼元素訪問(wèn) / 18
2.8 課后練習(xí) / 19
2.9 編程挑戰(zhàn) / 20
第3章 數(shù)字類(lèi)型的數(shù)據(jù) / 21
3.1 Python中的數(shù)據(jù)類(lèi)型 / 22
3.2 整數(shù)類(lèi)型 / 22
3.3 浮點(diǎn)類(lèi)型 / 23
3.4 復(fù)數(shù)類(lèi)型 / 24
3.5 布爾類(lèi)型 / 24
3.6 數(shù)字類(lèi)型的相互轉(zhuǎn)換 / 25
3.6.1 隱式類(lèi)型的轉(zhuǎn)換 / 26
3.6.2 顯式類(lèi)型的轉(zhuǎn)換 / 27
3.7 課后練習(xí) / 28
3.8 編程挑戰(zhàn) / 29
第4章 運(yùn)算符 / 30
4.1 算術(shù)運(yùn)算符 / 31
4.2 比較運(yùn)算符 / 32
4.3 邏輯運(yùn)算符 / 34
4.4 位運(yùn)算符 / 35
4.5 賦值運(yùn)算符 / 37
4.6 運(yùn)算符的優(yōu)先級(jí) / 38
4.7 課后練習(xí) / 11
4.8 編程挑戰(zhàn) / 41
第5章 程序流程控制 / 43
5.1 分支語(yǔ)句 / 44
5.1.1 if結(jié)構(gòu) / 44
5.1.2 if-else結(jié)構(gòu) / 45
5.1.3 if-elif-else結(jié)構(gòu) / 47
5.2 循環(huán)語(yǔ)句 / 48
5.2.1 while語(yǔ)句 / 48
5.2.2 for語(yǔ)句 / 51
5.3 跳轉(zhuǎn)語(yǔ)句 / 54
5.3.1 break語(yǔ)句 / 54
5.3.2 continue語(yǔ)句 / 55
5.4 動(dòng)動(dòng)手——計(jì)算水仙花數(shù) / 56
5.5 課后練習(xí) / 58
5.6 編程挑戰(zhàn) / 58
第6章 容器類(lèi)型的數(shù)據(jù) / 60
6.1 序列 / 61
6.1.1 序列的索引操作 61
6.1.2 加與乘操作 62
6.1.3 切片操作 63
6.1.4 成員測(cè)試 / 65
6.2 列表 / 65
6.2.1 創(chuàng)建列表 / 65
6.2.2 追加元素 / 66
6.2.3 插入元素 / 67
6.2.4 替換元素 / 68
6.2.5 刪除元素 / 68
6.3 元組 / 69
6.3.1 創(chuàng)建元組 / 69
6.3.2 元組拆包 / 70
6.4 集合 / 72
6.4.1 創(chuàng)建集合 / 72
6.4.2 修改集合 / 73
6.5 字典 / 74
6.5.1 創(chuàng)建字典 / 74
6.5.2 修改字典 / 76
6.5.3 訪問(wèn)字典視圖 / 77
6.6 動(dòng)動(dòng)手——遍歷字典 / 78
6.7 課后練習(xí) / 79
6.8 編程挑戰(zhàn) / 80
第7章 字符串 / 82
7.1 字符串的表示方式 / 83
7.1.1 普通字符串 / 83
7.1.2 原始字符串 / 85
7.1.3 長(zhǎng)字符串 / 86
7.2 字符串與數(shù)字的相互轉(zhuǎn)換 / 86
7.2.1 將字符串轉(zhuǎn)換為數(shù)字 / 87
7.2.2 將數(shù)字轉(zhuǎn)換為字符串 / 88
7.3 格式化字符串 / 88
7.3.1 使用占位符 / 89
7.3.2 格式化控制符 / 90
7.3.3 使用f-string格式化字符串 / 91
7.4 操作字符串 / 92
7.4.1 字符串查找 / 92
7.4.2 字符串替換 / 93
7.4.3 字符串分割 / 94
7.5 動(dòng)動(dòng)手——統(tǒng)計(jì)英文文章中單詞出現(xiàn)的頻率 / 95
7.6 課后練習(xí) / 97
7.7 編程挑戰(zhàn) / 97
第8章 函數(shù) / 99
8.1 定義函數(shù) / 100
8.2 調(diào)用函數(shù) / 101
8.2.1 使用位置參數(shù)調(diào)用函數(shù) / 101
8.2.2 使用關(guān)鍵字參數(shù)調(diào)用函數(shù) / 102
8.3 參數(shù)的默認(rèn)值 / 103
8.4 可變參數(shù) / 104
8.4.1 基于元組的可變參數(shù)(*可變參數(shù)) / 104
8.4.2 基于字典的可變參數(shù)(**可變參數(shù)) / 105
8.5 函數(shù)中變量的作用域 / 106
8.6 函數(shù)類(lèi)型 / 108
8.6.1 理解函數(shù)類(lèi)型 / 108
8.6.2 過(guò)濾函數(shù)filter() / 110
8.6.3 映射函數(shù)map() / 111
8.7 lambda()函數(shù) / 112
8.8 動(dòng)動(dòng)手——使用更多的lambda()函數(shù) / 114
8.9 課后練習(xí) / 116
8.10 編程挑戰(zhàn) / 117
第9章 類(lèi)與對(duì)象 / 119
9.1 面向?qū)ο?/ 120
9.2 定義類(lèi) / 120
9.3 創(chuàng)建對(duì)象 / 121
9.4 類(lèi)的成員 / 122
9.4.1 實(shí)例變量 / 123
9.4.2 構(gòu)造方法 / 124
9.4.3 實(shí)例方法 / 125
9.4.4 類(lèi)變量 / 126
9.4.5 類(lèi)方法 / 127
9.5 封裝性 / 128
9.5.1 私有變量 / 129
9.5.2 私有方法 / 130
9.5.3 使用屬性 / 131
9.6 繼承性 / 134
9.6.1 Python中的繼承 / 134
9.6.2 多繼承 / 136
9.6.3 重寫(xiě)方法 / 138
9.7 多態(tài)性 / 140
9.7.1 繼承與多態(tài) / 140
9.7.2 鴨子類(lèi)型測(cè)試與多態(tài) / 141
9.8 課后練習(xí) / 144
9.9 編程挑戰(zhàn) / 144
第10章 異常處理 / 146
10.1 第一個(gè)異!惝惓 / 147
10.2 捕獲異常 / 148
10.2.1 try-except語(yǔ)句 / 149
10.2.2 多個(gè)except代碼塊 / 151
10.2.3 多重異常捕獲 / 152
10.2.4 try-except語(yǔ)句嵌套 / 153
10.3 使用finally代碼塊釋放資源 / 154
10.4 自定義異常類(lèi) 156
10.5 動(dòng)動(dòng)手——手動(dòng)引發(fā)異常 / 157
10.6 課后練習(xí) / 159
10.7 編程挑戰(zhàn) / 159
第11章 常用的內(nèi)置模塊 / 160
11.1 數(shù)學(xué)計(jì)算模塊——math模塊 / 161
11.2 日期時(shí)間模塊——datetime模塊 / 162
11.2.1 datetime類(lèi) / 163
11.2.2 date類(lèi) / 164
11.2.3 time類(lèi) / 165
11.2.4 計(jì)算時(shí)間跨度類(lèi)——timedelta類(lèi) / 166
11.2.5 將日期時(shí)間對(duì)象與字符串相互轉(zhuǎn)換 / 167
11.3 正則表達(dá)式模塊——re模塊 / 168
11.3.1 字符串匹配 / 169
11.3.2 字符串查找 / 170
11.3.3 字符串替換 / 171
11.3.4 字符串分割 / 172
11.4 點(diǎn)撥點(diǎn)撥——如何使用官方文檔查找模塊幫助信息 / 173
11.5 課后練習(xí) / 176
11.6 編程挑戰(zhàn) / 177
第12章 文件讀寫(xiě) / 178
12.1 打開(kāi)文件 / 179
12.2 關(guān)閉文件 / 182
12.2.1 在finally代碼塊中關(guān)閉文件 / 182
12.2.2 在with as代碼塊中關(guān)閉文件 / 184
12.3 讀寫(xiě)文本文件 / 185
12.4 動(dòng)動(dòng)手——復(fù)制文本文件 / 185
12.5 讀寫(xiě)二進(jìn)制文件 / 187
12.6 動(dòng)動(dòng)手——復(fù)制二進(jìn)制文件 / 187
12.7 課后練習(xí) / 189
12.8 編程挑戰(zhàn) / 189
第13章 基于Tkinter的圖形界面設(shè)計(jì) / 191
13.1 圖形界面開(kāi)發(fā)工具包概述 / 192
13.2 第一個(gè)Tkinter程序 193
13.2.1 在窗口中添加控件 / 194
13.2.2 將控件綁定事件處理函數(shù) / 195
13.3 布局管理 / 197
13.3.1 pack / 198
13.3.2 grid / 200
13.3.3 place / 201
13.4 常用控件 / 203
13.4.1 文本輸入框 / 203
13.4.2 文本區(qū) / 204
13.4.3 復(fù)選框 / 205
13.4.4 單選按鈕 / 207
13.4.5 列表 / 209
13.4.6 下拉列表 / 211
13.5 課后練習(xí) / 213
13.6 編程挑戰(zhàn) / 213
第14章 網(wǎng)絡(luò)通信 / 215
14.1 基本的網(wǎng)絡(luò)知識(shí) / 216
14.1.1 TCP/IP / 216
14.1.2 IP地址 / 216
14.1.3 端口 / 217
14.1.4 HTTP/HTTPS / 217
14.2 搭建自己的Web服務(wù)器 / 218
14.3 urllib.request模塊 / 223
14.3.1 發(fā)送GET請(qǐng)求 / 223
14.3.2 發(fā)送POST請(qǐng)求 / 224
14.4 JSON數(shù)據(jù) / 225
14.4.1 JSON文檔的結(jié)構(gòu) / 226
14.4.2 JSON數(shù)據(jù)的解碼 / 226
14.5 動(dòng)動(dòng)手——下載圖片 / 228
14.6 動(dòng)動(dòng)手——返回所有備忘錄信息 229
14.7 課后練習(xí) / 232
14.8 編程挑戰(zhàn) / 232
第15章 訪問(wèn)數(shù)據(jù)庫(kù) / 233
15.1 SQLite / 234
15.1.1 SQLite中的數(shù)據(jù)類(lèi)型 / 234
15.1.2 Python中數(shù)據(jù)類(lèi)型與SQLite中數(shù)據(jù)類(lèi)型的映射 / 234
15.1.3 使用GUI管理工具管理SQLite / 235
15.2 數(shù)據(jù)庫(kù)編程的基本操作過(guò)程 / 238
15.3 sqlite3模塊 / 239
15.3.1 數(shù)據(jù)庫(kù)連接對(duì)象Connection / 239
15.3.2 游標(biāo)對(duì)象Cursor / 240
15.4 動(dòng)動(dòng)手——數(shù)據(jù)庫(kù)的CRUD操作示例 / 240
15.4.1 示例中的表 / 241
15.4.2 無(wú)條件查詢語(yǔ)句 / 242
15.4.3 有條件查詢語(yǔ)句 / 243
15.4.4 插入數(shù)據(jù) / 244
15.4.5 更新數(shù)據(jù) / 246
15.4.6 刪除數(shù)據(jù) / 248
15.5 點(diǎn)撥點(diǎn)撥——防止SQL注入攻擊 / 250
15.6 課后練習(xí) / 252
15.7 編程挑戰(zhàn) / 252
第16章 多線程 / 254
16.1 線程相關(guān)的知識(shí) / 255
16.1.1 進(jìn)程 / 255
16.1.2 線程 / 255
16.1.3 主線程 / 255
16.2 線程模塊——threading模塊 / 256
16.3 創(chuàng)建子線程 / 257
16.3.1 通過(guò)自定義函數(shù)實(shí)現(xiàn)線程體 / 257
16.3.2 通過(guò)自定義線程類(lèi)實(shí)現(xiàn)線程體 / 259
16.4 線程管理 / 260
16.4.1 等待線程執(zhí)行結(jié)束 / 260
16.4.2 線程停止執(zhí)行 / 262
16.5 動(dòng)動(dòng)手——下載圖片 / 264
16.6 課后練習(xí) / 267
16.7 編程挑戰(zhàn) / 267
第17章 算法入門(mén) / 268
17.1 算法的概念 / 269
17.1.1 算法的關(guān)鍵特征 / 270
17.1.2 算法的關(guān)鍵指標(biāo) / 270
17.2 排序算法 / 272
17.2.1 冒泡排序 / 272
17.2.2 選擇排序 / 276
17.2.3 插入排序 / 281
17.3 查找算法 / 285
17.3.1 順序查找 / 286
17.3.2 二分查找 / 288
17.4 遞歸:讓函數(shù)自己調(diào)用自己 / 291
17.4.1 動(dòng)動(dòng)手——寫(xiě)一個(gè)計(jì)算階乘的程序 / 291
17.4.2 動(dòng)動(dòng)手——基于遞歸實(shí)現(xiàn)二分查找 / 293
17.5 課后練習(xí) / 295
17.6 編程挑戰(zhàn) / 295
附錄A “課后練習(xí)”參考答案 / 296