看漫畫學Python:有趣、有料、好玩、好用(全彩)(第3版)

關東升

  • 出版商: 電子工業
  • 出版日期: 2025-10-01
  • 售價: $654
  • 語言: 簡體中文
  • 頁數: 308
  • ISBN: 712151298X
  • ISBN-13: 9787121512988
  • 相關分類: Python
  • 尚未上市,歡迎預購

相關主題

商品描述

Python是一門既簡單易學又功能強大的編程語言,被廣泛應用於數據分析、大數據處理、網絡爬蟲、自動化運維、科學計算和人工智能等領域。Python的重要性日益凸顯,已被納入國家計算機等級考試科目,許多中小學也開設了Python編程課程。本書秉承有趣、有料、好玩、好用的理念,通過3個漫畫人物的輕松對話、生動形象和誇張動作,將復雜的Python技術問題簡單化解。本書共計17章。第1章講解Python的歷史和特點,並進行開發環境搭建;第2~5章講解Python的基礎語法,包括數據類型、運算符和程序流程控制等;第6~7章講解容器類型的數據和字符串操作;第8~11章講解函數、類與對象、異常處理和常用的內置模塊;第12~16章講解Python實用庫的應用,包括文件讀寫、圖形界面設計、網絡通信、數據庫訪問和多線程等,其中使用了Python自帶的GUI開發工具包Tkinter進行GUI開發,能有效降低學習門檻,提升實踐體驗;第17章講解算法入門知識,包括排序算法、查找算法和遞歸等,幫助讀者培養邏輯思維能力。本書基本在每一章中都安排了“動動手”“課後練習”和“編程挑戰”環節,讀者可在這些環節找到應用實例和同步練習題。

目錄大綱

第1章 油箱加滿!準備出發! / 1
1.1 Python的歷史 / 2
1.2 Python的特點 / 3
1.3 安裝Python / 4
1.4 動動手——編寫和運行一個HelloWorld程序 / 5
1.4.1 交互方式 / 6
1.4.2 文件方式 / 7
1.5 課後練習 / 11
1.6 編程挑戰 / 11
第2章 編程基礎那點事兒 / 12
2.1 標識符 / 13
2.2 關鍵字 / 14
2.3 變量 / 14
2.4 語句 / 15
2.5 註釋 / 16
2.6 模塊 / 16
2.7 動動手——實現兩個模塊間的代碼元素訪問 / 18
2.8 課後練習 / 19
2.9 編程挑戰 / 20
第3章 數字類型的數據 / 21
3.1 Python中的數據類型 / 22
3.2 整數類型 / 22
3.3 浮點類型 / 23
3.4 復數類型 / 24
3.5 布爾類型 / 24
3.6 數字類型的相互轉換 / 25
3.6.1 隱式類型的轉換 / 26
3.6.2 顯式類型的轉換 / 27
3.7 課後練習 / 28
3.8 編程挑戰 / 29
第4章 運算符 / 30
4.1 算術運算符 / 31
4.2 比較運算符 / 32
4.3 邏輯運算符 / 34
4.4 位運算符 / 35
4.5 賦值運算符 / 37
4.6 運算符的優先級 / 38
4.7 課後練習 / 11
4.8 編程挑戰 / 41
第5章 程序流程控制 / 43
5.1 分支語句 / 44
5.1.1 if結構 / 44
5.1.2 if-else結構 / 45
5.1.3 if-elif-else結構 / 47
5.2 循環語句 / 48
5.2.1 while語句 / 48
5.2.2 for語句 / 51
5.3 跳轉語句 / 54
5.3.1 break語句 / 54
5.3.2 continue語句 / 55
5.4 動動手——計算水仙花數 / 56
5.5 課後練習 / 58
5.6 編程挑戰 / 58
第6章 容器類型的數據 / 60
6.1 序列 / 61
6.1.1 序列的索引操作 61
6.1.2 加與乘操作 62
6.1.3 切片操作 63
6.1.4 成員測試 / 65
6.2 列表 / 65
6.2.1 創建列表 / 65
6.2.2 追加元素 / 66
6.2.3 插入元素 / 67
6.2.4 替換元素 / 68
6.2.5 刪除元素 / 68
6.3 元組 / 69
6.3.1 創建元組 / 69
6.3.2 元組拆包 / 70
6.4 集合 / 72
6.4.1 創建集合 / 72
6.4.2 修改集合 / 73
6.5 字典 / 74
6.5.1 創建字典 / 74
6.5.2 修改字典 / 76
6.5.3 訪問字典視圖 / 77
6.6 動動手——遍歷字典 / 78
6.7 課後練習 / 79
6.8 編程挑戰 / 80
第7章 字符串 / 82
7.1 字符串的表示方式 / 83
7.1.1 普通字符串 / 83
7.1.2 原始字符串 / 85
7.1.3 長字符串 / 86
7.2 字符串與數字的相互轉換 / 86
7.2.1 將字符串轉換為數字 / 87
7.2.2 將數字轉換為字符串 / 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 動動手——統計英文文章中單詞出現的頻率 / 95
7.6 課後練習 / 97
7.7 編程挑戰 / 97
第8章 函數 / 99
8.1 定義函數 / 100
8.2 調用函數 / 101
8.2.1 使用位置參數調用函數 / 101
8.2.2 使用關鍵字參數調用函數 / 102
8.3 參數的默認值 / 103
8.4 可變參數 / 104
8.4.1 基於元組的可變參數(*可變參數) / 104
8.4.2 基於字典的可變參數(**可變參數) / 105
8.5 函數中變量的作用域 / 106
8.6 函數類型 / 108
8.6.1 理解函數類型 / 108
8.6.2 過濾函數filter() / 110
8.6.3 映射函數map() / 111
8.7 lambda()函數 / 112
8.8 動動手——使用更多的lambda()函數 / 114
8.9 課後練習 / 116
8.10 編程挑戰 / 117
第9章 類與對象 / 119
9.1 面向對象 / 120
9.2 定義類 / 120
9.3 創建對象 / 121
9.4 類的成員 / 122
9.4.1 實例變量 / 123
9.4.2 構造方法 / 124
9.4.3 實例方法 / 125
9.4.4 類變量 / 126
9.4.5 類方法 / 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 重寫方法 / 138
9.7 多態性 / 140
9.7.1 繼承與多態 / 140
9.7.2 鴨子類型測試與多態 / 141
9.8 課後練習 / 144
9.9 編程挑戰 / 144
第10章 異常處理 / 146
10.1 第一個異常——除零異常 / 147
10.2 捕獲異常 / 148
10.2.1 try-except語句 / 149
10.2.2 多個except代碼塊 / 151
10.2.3 多重異常捕獲 / 152
10.2.4 try-except語句嵌套 / 153
10.3 使用finally代碼塊釋放資源 / 154
10.4 自定義異常類 156
10.5 動動手——手動引發異常 / 157
10.6 課後練習 / 159
10.7 編程挑戰 / 159
第11章 常用的內置模塊 / 160
11.1 數學計算模塊——math模塊 / 161
11.2 日期時間模塊——datetime模塊 / 162
11.2.1 datetime類 / 163
11.2.2 date類 / 164
11.2.3 time類 / 165
11.2.4 計算時間跨度類——timedelta類 / 166
11.2.5 將日期時間對象與字符串相互轉換 / 167
11.3 正則表達式模塊——re模塊 / 168
11.3.1 字符串匹配 / 169
11.3.2 字符串查找 / 170
11.3.3 字符串替換 / 171
11.3.4 字符串分割 / 172
11.4 點撥點撥——如何使用官方文檔查找模塊幫助信息 / 173
11.5 課後練習 / 176
11.6 編程挑戰 / 177
第12章 文件讀寫 / 178
12.1 打開文件 / 179
12.2 關閉文件 / 182
12.2.1 在finally代碼塊中關閉文件 / 182
12.2.2 在with as代碼塊中關閉文件 / 184
12.3 讀寫文本文件 / 185
12.4 動動手——復制文本文件 / 185
12.5 讀寫二進制文件 / 187
12.6 動動手——復制二進制文件 / 187
12.7 課後練習 / 189
12.8 編程挑戰 / 189
第13章 基於Tkinter的圖形界面設計 / 191
13.1 圖形界面開發工具包概述 / 192
13.2 第一個Tkinter程序 193
13.2.1 在窗口中添加控件 / 194
13.2.2 將控件綁定事件處理函數 / 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 文本區 / 204
13.4.3 復選框 / 205
13.4.4 單選按鈕 / 207
13.4.5 列表 / 209
13.4.6 下拉列表 / 211
13.5 課後練習 / 213
13.6 編程挑戰 / 213
第14章 網絡通信 / 215
14.1 基本的網絡知識 / 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服務器 / 218
14.3 urllib.request模塊 / 223
14.3.1 發送GET請求 / 223
14.3.2 發送POST請求 / 224
14.4 JSON數據 / 225
14.4.1 JSON文檔的結構 / 226
14.4.2 JSON數據的解碼 / 226
14.5 動動手——下載圖片 / 228
14.6 動動手——返回所有備忘錄信息 229
14.7 課後練習 / 232
14.8 編程挑戰 / 232
第15章 訪問數據庫 / 233
15.1 SQLite / 234
15.1.1 SQLite中的數據類型 / 234
15.1.2 Python中數據類型與SQLite中數據類型的映射 / 234
15.1.3 使用GUI管理工具管理SQLite / 235
15.2 數據庫編程的基本操作過程 / 238
15.3 sqlite3模塊 / 239
15.3.1 數據庫連接對象Connection / 239
15.3.2 遊標對象Cursor / 240
15.4 動動手——數據庫的CRUD操作示例 / 240
15.4.1 示例中的表 / 241
15.4.2 無條件查詢語句 / 242
15.4.3 有條件查詢語句 / 243
15.4.4 插入數據 / 244
15.4.5 更新數據 / 246
15.4.6 刪除數據 / 248
15.5 點撥點撥——防止SQL註入攻擊 / 250
15.6 課後練習 / 252
15.7 編程挑戰 / 252
第16章 多線程 / 254
16.1 線程相關的知識 / 255
16.1.1 進程 / 255
16.1.2 線程 / 255
16.1.3 主線程 / 255
16.2 線程模塊——threading模塊 / 256
16.3 創建子線程 / 257
16.3.1 通過自定義函數實現線程體 / 257
16.3.2 通過自定義線程類實現線程體 / 259
16.4 線程管理 / 260
16.4.1 等待線程執行結束 / 260
16.4.2 線程停止執行 / 262
16.5 動動手——下載圖片 / 264
16.6 課後練習 / 267
16.7 編程挑戰 / 267
第17章 算法入門 / 268
17.1 算法的概念 / 269
17.1.1 算法的關鍵特征 / 270
17.1.2 算法的關鍵指標 / 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 遞歸:讓函數自己調用自己 / 291
17.4.1 動動手——寫一個計算階乘的程序 / 291
17.4.2 動動手——基於遞歸實現二分查找 / 293
17.5 課後練習 / 295
17.6 編程挑戰 / 295
附錄A “課後練習”參考答案 / 296