快速上手Python:基礎·進·實戰

明日科技

  • 出版商: 化學工業
  • 出版日期: 2023-01-01
  • 定價: $648
  • 售價: 8.5$551
  • 語言: 簡體中文
  • 頁數: 322
  • 裝訂: 平裝
  • ISBN: 7122419657
  • ISBN-13: 9787122419651
  • 相關分類: Python程式語言
  • 下單後立即進貨 (約2週~3週)

商品描述

《快速上手Python:基礎進實戰》內容全面,以理論聯繫實際、能學到並做到為宗,以技術為核,以案例為輔助,
讀者全面學Python代碼編寫方法和具體應用項目,在為讀者提供新而全的技術性內容及案例。
本書是本側重Python基礎、應用和實踐的書,分為3篇,共22章。
基礎篇共17章,從Python安裝和Python語言基礎開始講解,
對使用Python進行開發工作需要具備的基本知識和方法進行了全面梳理;
進篇共4章,解讀了基於Python語言的重要開發方向——GUI、遊戲、爬蟲、Web等的相應框架,如pygame、Django等;
實戰篇為1個大型實戰案例,證所學知識得到鞏固和應用。
另外,本書配套資源豐富,含本書所有程序的源代碼、分章節視頻教程、拓展實戰項目等網絡配套學資源。
其中,源代碼全經過測試,能夠在Windows 7、Windows 10環境下全編譯和運行。
本書適用於Python的愛好者、初和中級開發人員,也可以作為大中院校和培訓機構的教材。

目錄大綱

第1篇基礎篇
第1章安裝Python開發環境
1.1 Python概述2
1.2 搭建Python開發環境3
1.2.1 安裝Python 3
1.2.2 解決提示“'python'不是內或外命令……” 6
1.3 使用IDLE編寫“hello world” 8
1.4 實戰任務10
任務1:輸出“Go Big Or Go Home!” 10
任務2:輸出程序員節的含義10
任務3:模擬輸出用戶登錄輸入窗口10
任務4:輸出金庸先生的作品口訣10

第2章Python語言基礎
2.1 基本輸入和輸出11
2.1.1 使用input()函數輸入11
2.1.2 使用print()函數輸出12
2.2 註釋15
2.2.1 單行註釋15
2.2.2 多行註釋16
2.2.3 中文編碼聲明註釋16
2.2.4 註釋程序進行調試17
2.3 代碼縮進18
2.4 編碼規範19
2.5 命名規範20
2.6 實戰任務21
任務1:輸出字母、數字或符號的ASCII狀態值21
任務2:模擬支付實現付款功能21
任務3:模擬成語填空遊戲21
任務4:請給下面前兩行代碼說明添加註釋符號22
任務5:請給下面分代碼添加行末註釋22
任務6:請用兩種方法註釋下面所有代碼22

第3章變量與基本數據類型
3.1 留字與標識符23
3.1.1 留字23
3.1.2 標識符24
3.2 變量25
3.2.1 理解Python中的變量25
3.2.2 變量的定義與使用26
3.3 基本數據類型27
3.3.1 數字類型27
3.3.2 字符串類型29
3.3.3 布爾類型31
3.3.4 數據類型轉換31
3.4 實戰任務32
任務1:破譯爬蟲項目實踐活動的日期密碼32
任務2:大聲說出你的愛33
任務3:十進制數轉換為二進制、八進制、十六進制33
任務4:輸出遊戲玩家的功力值33
任務5:石頭、剪子、布遊戲33
任務6:輸出球賽結果對比圖34
任務7:搖搖,單了34

第4章運算符
4.1 算術運算符35
4.2 賦值運算符38
4.3 比較(關係)運算符39
4.4 邏輯運算符40
4.5 位運算符41
4.6 運算符的先級43
4.7 實戰任務43
任務1:計算愛者導彈的總數量43
任務2:奮鬥的青春美麗44
任務3:計算汽車平均油耗及費用44
任務4:華氏溫度轉換成攝氏溫度44

第5章列表和元組
5.1 序列45
5.1.1 索引45
5.1.2 切片46
5.1.3 序列相加47
5.1.4 乘法48
5.1.5 檢查某個元素是否是序列的成員(元素) 48
5.1.6 計算序列的長度、大值和小值48
5.2 列表49
5.2.1 列表的建和刪除50
5.2.2 訪問列表元素51
5.2.3 遍歷列表52
5.2.4 添加、修改和刪除列表元素53
5.2.5 對列表進行統計計算55
5.2.6 對列表進行排序56
5.2.7 列表推導式58
5.3 元組60
5.3.1 元組的建和刪除60
5.3.2 訪問元組元素62
5.3.3 修改元組元素63
5.3.4 元組推導式64
5.3.5 元組與列表的區別65
5.4 實戰任務66
任務1:解決“千年蟲”問題66
任務2:QQ運動週報66
任務3:模擬購物車購物過程67

第6章字符串與正則表達式
6.1 字符串常用作68
6.1.1 拼接字符串68
6.1.2 計算字符串的長度69
6.1.3 截取字符串70
6.1.4 分割字符串71
6.1.5 檢索字符串72
6.1.6 字母的大小寫轉換75
6.1.7 去除字符串中的空格和殊字符76
6.1.8 格式化字符串78
6.2 正則表達式基礎80
6.2.1 行定位符81
6.2.2 元字符81
6.2.3 限定符82
6.2.4 字符類82
6.2.5 排除字符82
6.2.6 選擇字符83
6.2.7 轉義字符83
6.2.8 分組83
6.2.9 在Python中使用正則表達式語法83
6.3 使用re模塊實現正則表達式作84
6.3.1 匹配字符串84
6.3.2 替換字符串87
6.3.3 使用正則表達式分割字符串88
6.4 實戰任務88
任務1:字符串綜合訓練88
任務2:查找字符串中字符出現的次數89
任務3:格式化輸出商品的編號和單89
任務4:刪除字符串中重複的字符89
任務5:輸出身份證中的生日信息89

第7章if選擇語句
7.1 程序結構90
7.2 常用選擇語句91
7.2.1 簡單的if語句91
7.2.2 if…else語句93
7.2.3 if…elif…else語句94
7.2.4 if語句的嵌套95
7.3 使用and連接條件的選擇語句96
7.4 使用or連接條件的選擇語句97
7.5 使用not關鍵字的選擇語句98
7.6 實戰任務99
任務1:判斷支付密碼的輸入數字是否合法99
任務2:競猜商品格99

第8章循環結構語句
8.1 基礎for循環100
8.1.1 進行數值循環101
8.1.2 利用range()函數強化循環101
8.1.3 遍歷字符串103
8.1.4 使用enumerate()函數簡化循環103
8.1.5 翻轉字符串104
8.1.6 遍歷列表105
8.1.7 遍歷字典105
8.1.8 在for循環中使用條件語句107
8.2 嵌套for循環107
8.2.1 雙層for循環遍歷列表108
8.2.2 雙層for循環生成數字矩陣108
8.2.3 三層for循環生成多個互不相同且不重複的三位數109
8.3 for 表達式(序列推導式) 109
8.3.1 利用for表達式生成數字、字母110
8.3.2 使用for表達式輸出1~100個數110
8.4 For循環使用else語句110
8.5 while循環語句112
8.5.1 使用while計數循環實現密碼輸錯6次鎖死功能113
8.5.2 通過定字符對while循環進行控制113
8.5.3 while比較循環113
8.5.4 while none循環114
8.5.5 while True循環115
8.6 出while循環的5種方法116
8.7 while循環嵌套118
8.7.1 雙while循環嵌套輸出九九乘法表118
8.7.2 雙while循環嵌套輸出長方形119
8.8 跳轉語句120
8.8.1 break語句120
8.8.2 continue語句122
8.9 實戰任務124
任務1:輸出字母或數字的ASCII值124
任務2:編程輸出星號“*”陣列124
任務3:輸出九九乘法表124

第9章字典與集合
9.1 字典125
9.1.1 字典的建和刪除126
9.1.2 通過“鍵值對”訪問字典128
9.1.3 遍歷字典129
9.1.4 添加、修改和刪除字典元素130
9.1.5 字典推導式132
9.2 集合132
9.2.1 集合的建132
9.2.2 集合中元素的添加和刪除134
9.2.3 集合的交集、並集和差集運算135
9.3 列表、元組、字典和集合的區別135
9.4 實戰任務136
任務1:統計需要取快遞人員的名單136
任務2:手機通訊錄管理136

第10章函數
10.1 函數的建和調用137
10.1.1 建個函數137
10.1.2 調用函數139
10.1.3 pass空語句139
10.2 參數傳遞140
10.2.1 了解形式參數和實際參數140
10.2.2 位置參數141
10.2.3 關鍵字參數142
10.2.4 為參數設置默認值143
10.2.5 可變參數144
10.3 返回值145
10.4 變量的作用域146
10.4.1 局變量147
10.4.2 全局變量147
10.5 匿名函數148
10.6 常用Python內置函數149
10.7 實戰任務150
任務1:設計黑客英對講機150
任務2:貨幣幣值兌換函數150

第11章類和對象
11.1 面向對象概述151
11.1.1 對象152
11.1.2 類152
11.1.3 面向對象程序設計的點152
11.2 類的定義和使用153
11.2.1 定義類153
11.2.2 建類的實例153
11.2.3 “魔術”方法—__init__() 154
11.2.4 建類的成員並訪問155
11.2.5 訪問限制157
11.3 屬性158
11.3.1 建用於計算的屬性159
11.3.2 為屬性添加護機制159
11.4 繼承160
11.4.1 繼承的基本語法160
11.4.2 方法重寫161
11.4.3 派生類中調用基類的__init__()方法161
11.5 實戰任務162
任務1:銀行賬戶資金交易管理162
任務2:設計藥品medicine類162

第12章模塊
12.1 模塊概述163
12.2 自定義模塊164
12.2.1 建模塊164
12.2.2 使用import語句導入模塊164
12.2.3 使用from…import語句導入模塊165
12.2.4 模塊搜索目錄166
12.3 以主程序的形式執行168
12.4 Python中的169
12.4.1 Python程序的結構169
12.4.2 建和使用170
12.5 引用其他模塊172
12.5.1 導入和使用標準模塊172
12.5.2 第三方模塊的下載與安裝173
12.6 實戰任務174
任務1:鐵路售票系統174
任務2:推算幾天后的日期174
任務3:輸出福彩3D號碼174

第13章文件作
13.1 基本文件作175
13.1.1 建和打開文件175
13.1.2 關閉文件177
13.1.3 打開文件時使用with語句178
13.1.4 寫入文件內容178
13.1.5 讀取文件179
13.2 目錄作182
13.2.1 os和os.path模塊182
13.2.2 路徑183
13.2.3 判斷目錄是否存在185
13.2.4 建目錄186
13.2.5 刪除目錄187
13.2.6 遍歷目錄188
13.3 高級文件作189
13.3.1 刪除文件190
13.3.2 重命名文件和目錄190
13.3.3 獲取文件基本信息191
13.4 實戰任務192
任務1:記錄用戶登錄日誌192
任務2:模擬客服自動回复192

第14章使用Python作數據庫
14.1 數據庫編程接口193
14.1.1 連接對象193
14.1.2 游標對象195
14.2 使用SQLite 195
14.2.1 建數據庫文件195
14.2.2 作SQLite 196
14.3 使用MySQL 198
14.3.1 下載安裝MySQL 198
14.3.2 安裝PyMySQL 201
14.3.3 連接數據庫201
14.3.4 建數據表202
14.3.5 作MySQL數據表203
14.4 實戰任務204
任務1:記錄用戶登錄日誌(數據庫版) 204
任務2:小型會員管理系統204

第15章進程和線程
15.1 什麼是進程205
15.2 建進程的常用方式206
15.2.1 使用multiprocessing模塊建進程206
15.2.2 使用Process子類建進程208
15.2.3 使用進程池Pool建進程209
15.3 通過隊列實現進程間通信211
15.3.1 隊列簡介212
15.3.2 多進程隊列的使用212
15.3.3 使用隊列在進程間通信213
15.4 什麼是線程214
15.5 建線程215
15.5.1 使用threading模塊建線程215
15.5.2 使用Thread子類建線程216
15.6 線程間通信216
15.6.1 什麼是互斥鎖217
15.6.2 使用互斥鎖218
15.6.3 使用隊列在線程間通信219
15.7 關於線程需要注意的兩點220
15.8 實戰任務221
任務1:程序221
任務2:生成日誌與讀取日誌221

第16章網絡編程
16.1 網絡基礎222
16.1.1 為什麼要使用通信協議222
16.1.2 TCP/IP簡介223
16.1.3 UDP簡介224
16.1.4 Socket簡介224
16.2 TCP編程226
16.2.1 建TCP服務器226
16.2.2 建TCP客戶端226
16.2.3 執行TCP服務器和客戶端227
16.3 UDP編程229
16.3.1 建UDP 服務器230
16.3.2 建UDP 客戶端230
16.3.3 執行UDP 服務器和客戶端231
16.4 實戰任務232
任務1:網絡器232
任務2:掃描並輸出局域網佔用的IP地址232
任務3:輸出本地計算機名稱與本地計算機的IP地址232
任務4:獲取遠程主機的IP地址232
任務5:簡單Web聊天程序232

第17章異常處理及程序調試
17.1 異常概述233
17.2 異常處理語句234
17.2.1 try…except語句235
17.2.2 try…except…else語句235
17.2.3 try…except…finally語句236
17.2.4 使用raise語句拋出異常237
17.3 程序調試238
17.3.1 使用自帶的IDLE進行程序調試238
17.3.2 使用assert語句調試程序241


第2篇進篇
第18章常用的GUI框架
18.1 初識GUI 244
18.1.1 什麼是GUI 244
18.1.2 常用的GUI框架244
18.2 wxPython框架的使用245
18.2.1 安裝wxPython 245
18.2.2 建個wx.App的子類245
18.2.3 直接使用wx.App 246
18.2.4 使用wx.Frame框架246
18.2.5 常用控件247
18.2.6 BoxSizer佈局251
18.2.7 事件處理254
18.3 PyQt框架的使用256
18.3.1 安裝PyQt 256
18.3.2 使用第三方開發工具256
18.3.3 建主窗體260
18.3.4 常用控件262
18.3.5 佈局管理265
18.3.6 信號與槽的關聯266
18.3.7 資源文件的使用267

第19章pygame遊戲框架
19.1 初識pygame 271
19.1.1 安裝pygame 271
19.1.2 pygame常用模塊272
19.2 pygame的基本使用273

第20章網絡爬蟲框架
20.1 初識網絡爬蟲278
20.1.1 網絡爬蟲概述278
20.1.2 網絡爬蟲的分類278
20.1.3 網絡爬蟲的基本原理279
20.2 網絡爬蟲的常用技術280
20.2.1 Python的網絡請求280
20.2.2 請求headers處理283
20.2.3 網絡時284
20.2.4 代理服務285
20.2.5 HTML解析之BeautifulSoup 285
20.3 網絡爬蟲開發常用框架288
20.3.1 Scrapy爬蟲框架288
20.3.2 Crawley爬蟲框架288
20.3.3 PySpider爬蟲框架288
20.4 Scrapy爬蟲框架的使用289