Python從入門到精通(第2版)

Python從入門到精通(第2版)

《Python從入門到精通(第2版)》是2021年清華大學出版社出版圖書,作者是明日科技。

基本介紹

  • 中文名:Python從入門到精通(第2版) 
  • 作者:明日科技
  • 出版時間:2021年7月1日
  • 出版社清華大學出版社
  • 頁數:446 頁
  • ISBN:9787302581239 
  • 定價:79.80 元
  • 開本:16 開
  • 裝幀:平裝
內容簡介,圖書目錄,

內容簡介

《Python從入門到精通(第2版)》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用Python進行程式開發應該掌握的各方面技術。全書共分23章,包括初識Python、Python語言基礎、運算符與表達式、流程控制語句、列表和元組、字典和集合、字元串、Python中使用正則表達式、函式、面向對象程式設計、模組、異常處理及程式調試、檔案及目錄操作、運算元據庫、GUI界面編程、Pygame遊戲編程、網路爬蟲開發、使用進程和執行緒、網路編程、Web編程、Flask框架、e起去旅行網站、AI圖像識別工具等內容。所有知識都結合具體實例進行介紹,涉及的程式代碼都給出了詳細的注釋,讀者可輕鬆領會Python程式開發的精髓,快速提升開發技能。除此之外,該書還附配了243集高清教學微視頻及PPT電子教案。
《Python從入門到精通(第2版)》可作為軟體開發入門者的學習用書,也可作為高等院校相關專業的教學參考用書,還可供開發人員查閱、參考使用。

圖書目錄

第1篇 基礎知識
第1章 初識Python 2
1.1 Python簡介 2
1.1.1 什麼是Python 2
1.1.2 Python的版本 3
1.1.3 Python能做什麼 3
1.2 搭建Python開發環境 5
1.2.1 開發環境概述 5
1.2.2 安裝Python 5
1.2.3 編寫第一個Python程式 10
1.2.4 運行已經編寫好的.py檔案 11
1.3 Python開發工具 12
1.3.1 使用自帶的IDLE 12
1.3.2 常用的第三方開發工具 14
1.4 實踐與練習 16
第2章 Python語言基礎 17
2.1 Python語法特點 17
2.1.1 注釋規則 17
2.1.2 代碼縮進 21
2.1.3 編碼規範 22
2.2 Python中的變數 24
2.2.1 保留字與標識符 24
2.2.2 理解Python中的變數 26
2.2.3 定義變數 27
2.3 基本數據類型 28
2.3.1 數字 28
2.3.2 字元串 30
2.3.3 布爾類型 32
2.3.4 數據類型轉換 32
2.4 基本輸入和輸出 33
2.4.1 使用input()函式輸入 33
2.4.2 使用print()函式輸出 34
2.5 實踐與練習 35
第3章 運算符與表達式 36
3.1 運算符 36
3.1.1 算術運算符 36
3.1.2 賦值運算符 38
3.1.3 比較(關係)運算符 38
3.1.4 邏輯運算符 39
3.1.5 位運算符 40
3.2 運算符的優先權 43
3.3 條件表達式 43
3.4 實踐與練習 44
第4章 流程控制語句 45
4.1 程式結構 45
4.2 選擇語句 46
4.2.1 最簡單的if語句 47
4.2.2 if…else語句 48
4.2.3 if…elif…else語句 50
4.2.4 選擇語句的嵌套 52
4.3 循環語句 53
4.3.1 while循環 54
4.3.2 for循環 55
4.3.3 循環嵌套 57
4.4 break、continue和pass語句 58
4.4.1 break語句 58
4.4.2 continue語句 60
4.4.3 pass語句 61
4.5 實踐與練習 62
第5章 列表和元組 63
5.1 序列概述 63
5.1.1 索引 64
5.1.2 切片 65
5.1.3 序列相加 65
5.1.4 乘法 66
5.1.5 檢查某個元素是否是序列的成員(元素) 67
5.1.6 計算序列的長度、最大值和最小值 67
5.2 列表 68
5.2.1 列表的創建和刪除 68
5.2.2 訪問列表元素 70
5.2.3 遍歷列表 71
5.2.4 添加、修改和刪除列表元素 73
5.2.5 對列表進行統計計算 76
5.2.6 對列表進行排序 77
5.2.7 列表推導式 79
5.2.8 二維列表 80
5.3 元組 83
5.3.1 元組的創建和刪除 83
5.3.2 訪問元組元素 86
5.3.3 修改元組 88
5.3.4 元組推導式 89
5.3.5 元組與列表的區別 90
5.4 實踐與練習 91
第6章 字典和集合 92
6.1 字典 92
6.1.1 字典的創建和刪除 93
6.1.2 訪問字典 95
6.1.3 遍歷字典 97
6.1.4 添加、修改和刪除字典元素 98
6.1.5 字典推導式 100
6.2 集合 100
6.2.1 創建集合 101
6.2.2 向集合中添加和刪除元素 103
6.2.3 集合的交集、並集和差集運算 104
6.3 實踐與練習 105
第7章 字元串 106
7.1 字元串編碼轉換 106
7.1.1 使用encode()方法編碼 107
7.1.2 使用decode()方法解碼 108
7.2 字元串常用操作 108
7.2.1 拼接字元串 108
7.2.2 計算字元串的長度 110
7.2.3 截取字元串 111
7.2.4 分割、合併字元串 112
7.2.5 檢索字元串 115
7.2.6 字母的大小寫轉換 118
7.2.7 去除字元串中的空格和特殊字元 119
7.2.8 格式化字元串 121
7.3 實踐與練習 124
第2篇 進階提高
第8章 Python中使用正則表達式 126
8.1 正則表達式語法 126
8.1.1 行定位符 126
8.1.2 元字元 127
8.1.3 限定符 127
8.1.4 字元類 128
8.1.5 排除字元 128
8.1.6 選擇字元 128
8.1.7 轉義字元 129
8.1.8 分組 129
8.1.9 在Python中使用正則表達式語法 129
8.2 使用re模組實現正則表達式操作 130
8.2.1 匹配字元串 130
8.2.2 替換字元串 134
8.2.3 使用正則表達式分割字元串 135
8.3 實踐與練習 136
第9章 函式 137
9.1 函式的創建和調用 137
9.1.1 創建一個函式 137
9.1.2 調用函式 139
9.2 參數傳遞 140
9.2.1 了解形式參數和實際參數 140
9.2.2 位置參數 143
9.2.3 關鍵字參數 144
9.2.4 為參數設定默認值 145
9.2.5 可變參數 147
9.3 返回值 149
9.4 變數的作用域 151
9.4.1 局部變數 151
9.4.2 全局變數 152
9.5 匿名函式 154
9.6 實踐與練習 155
第10章 面向對象程式設計 156
10.1 面向對象概述 156
10.1.1 對象 157
10.1.2 類 157
10.1.3 面向對象程式設計的特點 158
10.2 類的定義和使用 159
10.2.1 定義類 159
10.2.2 創建類的實例 160
10.2.3 創建__init__()方法 160
10.2.4 創建類的成員並訪問 162
10.2.5 訪問限制 166
10.3 屬性 167
10.3.1 創建用於計算的屬性 167
10.3.2 為屬性添加安全保護機制 168
10.4 繼承 170
10.4.1 繼承的基本語法 170
10.4.2 方法重寫 171
10.4.3 派生類中調用基類的__init__()方法 172
10.5 實踐與練習 174
第11章 模組 175
11.1 模組概述 175
11.2 自定義模組 176
11.2.1 創建模組 176
11.2.2 使用import語句導入模組 177
11.2.3 使用from…import語句導入模組 178
11.2.4 模組搜尋目錄 180
11.3 Python中的包 183
11.3.1 Python程式的包結構 183
11.3.2 創建和使用包 183
11.3.3 以主程式的形式執行 187
11.4 引用其他模組 188
11.4.1 導入和使用標準模組 188
11.4.2 第三方模組的下載與安裝 190
11.5 實踐與練習 191
第12章 異常處理及程式調試 193
12.1 異常概述 193
12.2 異常處理語句 195
12.2.1 try…except語句 195
12.2.2 try…except…else語句 197
12.2.3 try…except…finally語句 198
12.2.4 使用raise語句拋出異常 199
12.3 程式調試 201
12.3.1 使用自帶的IDLE進行程式調試 201
12.3.2 使用assert語句調試程式 203
12.4 實踐與練習 205
第13章 檔案及目錄操作 206
13.1 基本檔案操作 206
13.1.1 創建和打開檔案 207
13.1.2 關閉檔案 209
13.1.3 打開檔案時使用with語句 210
13.1.4 寫入檔案內容 210
13.1.5 讀取檔案 212
13.2 目錄操作 216
13.2.1 os和os.path模組 216
13.2.2 路徑 218
13.2.3 判斷目錄是否存在 219
13.2.4 創建目錄 220
13.2.5 刪除目錄 222
13.2.6 遍歷目錄 222
13.3 高級檔案操作 224
13.3.1 刪除檔案 224
13.3.2 重命名檔案和目錄 225
13.3.3 獲取檔案基本信息 226
13.4 實踐與練習 228
第14章 運算元據庫 229
14.1 資料庫編程接口 229
14.1.1 連線對象 230
14.1.2 游標對象 231
14.2 使用SQLite 231
14.2.1 創建資料庫檔案 231
14.2.2 操作SQLite 233
14.3 使用MySQL 236
14.3.1 下載和安裝MySQL 236
14.3.2 安裝PyMySQL 240
14.3.3 連線資料庫 241
14.3.4 創建數據表 241
14.3.5 操作MySQL數據表 243
14.4 實踐與練習 244
第3篇 高級套用
第15章 GUI界面編程 246
15.1 初識GUI 246
15.1.1 什麼是GUI 246
15.1.2 常用的GUI框架 247
15.1.3 安裝PyQt5 247
15.2 使用Qt Designer創建視窗 250
15.2.1 創建主視窗 250
15.2.2 設計主視窗 251
15.2.3 預覽視窗效果 252
15.2.4 將.ui檔案轉換為.py檔案 252
15.2.5 運行主視窗 253
15.3 信號與槽 254
15.3.1 編輯信號與槽 255
15.3.2 自定義槽 256
15.3.3 將自定義槽連線到信號 256
15.4 常用控制項 257
15.4.1 Label:標籤控制項 257
15.4.2 LineEdit:單行文本框控制項 258
15.4.3 TextEdit:多行文本框控制項 260
15.4.4 PushButton:按鈕控制項 261
15.4.5 CheckBox:複選框控制項 263
15.4.6 RadioButton:單選按鈕控制項 265
15.4.7 ComboBox:下拉組合框控制項 265
15.5 實踐與練習 267
第16章 Pygame遊戲編程 268
16.1 初識Pygame 268
16.1.1 安裝Pygame 268
16.1.2 Pygame常用模組 269
16.2 Pygame基本使用 270
16.3 開發Flappy Bird遊戲 276
16.3.1 遊戲簡介 276
16.3.2 遊戲分析 276
16.3.3 搭建主框架 276
16.3.4 創建小鳥類 278
16.3.5 創建管道類 280
16.3.6 計算得分 282
16.3.7 碰撞檢測 283
16.4 實踐與練習 285
第17章 網路爬蟲開發 286
17.1 初識網路爬蟲 286
17.1.1 網路爬蟲概述 286
17.1.2 網路爬蟲的分類 287
17.1.3 網路爬蟲的基本原理 288
17.2 網路爬蟲的常用技術 288
17.2.1 Python的網路請求 288
17.2.2 請求headers處理 291
17.2.3 網路逾時 292
17.2.4 代理服務 293
17.2.5 HTML解析之BeautifulSoup 294
17.3 網路爬蟲開發常用框架Scrapy 297
17.3.1 安裝Scrapy爬蟲框架 297
17.3.2 創建Scrapy項目 298
17.3.3 創建爬蟲 299
17.4 實戰項目:快手爬票 300
17.4.1 快手爬票概述 300
17.4.2 創建快手爬票項目 301
17.4.3 主視窗設計 302
17.4.4 分析網頁請求參數 308
17.4.5 下載站名檔案 309
17.4.6 車票信息的請求與顯示 312
17.5 實踐與練習 318
第18章 使用進程和執行緒 319
18.1 什麼是進程 319
18.2 創建進程的常用方式 320
18.2.1 使用multiprocessing模組創建進程 320
18.2.2 使用Process子類創建進程 322
18.2.3 使用進程池Pool創建進程 324
18.3 進程間通信 326
18.3.1 佇列簡介 327
18.3.2 多進程佇列的使用 328
18.3.3 使用佇列在進程間通信 329
18.4 什麼是執行緒 330
18.5 創建執行緒 330
18.5.1 使用threading模組創建執行緒 331
18.5.2 使用Thread子類創建執行緒 332
18.6 執行緒間通信 333
18.6.1 什麼是互斥鎖 334
18.6.2 使用互斥鎖 334
18.6.3 使用佇列線上程間通信 336
18.7 實踐與練習 337
第19章 網路編程 338
19.1 網路基礎 338
19.1.1 為什麼要使用通信協定 338
19.1.2 TCP/IP簡介 339
19.1.3 UDP簡介 340
19.1.4 socket簡介 341
19.2 TCP編程 342
19.2.1 創建TCP伺服器 342
19.2.2 創建TCP客戶端 343
19.2.3 執行TCP伺服器和客戶端 344
19.3 UDP編程 347
19.3.1 創建UDP伺服器 347
19.3.2 創建UDP客戶端 348
19.3.3 執行UDP伺服器和客戶端 348
19.4 實踐與練習 349
第20章 Web編程 350
20.1 Web基礎 350
20.1.1 HTTP協定 350
20.1.2 Web伺服器 351
20.1.3 前端基礎 353
20.1.4 靜態伺服器 355
20.2 WSGI接口 359
20.2.1 CGI簡介 359
20.2.2 WSGI簡介 360
20.2.3 定義WSGI接口 360
20.2.4 運行WSGI服務 361
20.3 Web框架 364
20.3.1 什麼是Web框架 364
20.3.2 Python中常用的Web框架 364
20.4 實踐與練習 365
第21章 Flask框架 366
21.1 Flask簡介 366
21.1.1 安裝虛擬環境 366
21.1.2 安裝Flask 368
21.1.3 第一個Flask程式 368
21.2 Flask基礎 369
21.2.1 開啟調試模式 369
21.2.2 路由 370
21.2.3 靜態檔案 372
21.2.4 藍圖 372
21.3 模板 373
21.3.1 渲染模板 373
21.3.2 變數 374
21.3.3 控制結構 375
21.4 Web表單 376
21.4.1 CSRF保護和驗證 377
21.4.2 表單類 377
21.4.3 把表單渲染成HTML 379
21.5 實踐與練習 381
第4篇 項目實戰
第22章 e起去旅行網站 384
22.1 系統功能設計 384
22.1.1 系統功能結構 384
22.1.2 系統業務流程 385
22.2 系統開發必備 386
22.2.1 系統開發環境 386
22.2.2 資料夾組織結構 386
22.3 資料庫設計 387
22.3.1 資料庫概要說明 387
22.3.2 數據表模型 387
22.3.3 數據表關係 389
22.4 前台用戶模組設計 389
22.4.1 會員註冊功能實現 389
22.4.2 會員登錄功能實現 397
22.4.3 會員退出功能實現 398
22.5 前台首頁模組設計 398
22.5.1 推薦景區功能實現 400
22.5.2 推薦地區功能實現 402
22.5.3 搜尋景區功能實現 403
22.6 景區模組設計 406
22.6.1 查看景區功能實現 406
22.6.2 查看遊記功能實現 408
22.6.3 收藏景區功能實現 409
22.6.4 查看收藏景區功能實現 412
22.7 關於我們模組設計 415
22.8 後台模組設計 419
22.8.1 管理員登錄功能實現 419
22.8.2 景區管理功能實現 421
22.8.3 地區管理功能實現 432
22.8.4 遊記管理功能實現 432
22.8.5 會員管理功能實現 433
22.8.6 日誌管理功能實現 433
第23章 AI圖像識別工具 435
23.1 需求分析 435
23.2 系統設計流程 435
23.3 系統開發必備 436
23.3.1 系統開發環境 436
23.3.2 資料夾組織結構 436
23.4 開發前的準備工作 437
23.4.1 申請百度AI接口 437
23.4.2 urllib、urllib.request模組 438
23.4.3 json模組 439
23.5 AI圖像識別工具的開發 440
23.5.1 根據項目設計製作窗體 440
23.5.2 添加分類 440
23.5.3 選擇識別的圖片 441
23.5.4 銀行卡圖像識別 443
23.5.5 植物圖像識別 444
23.5.6 複製識別結果到剪貼簿中 445

相關詞條

熱門詞條

聯絡我們