Python 從入門到精通, 3/e

明日科技

  • Python 從入門到精通, 3/e-preview-1
  • Python 從入門到精通, 3/e-preview-2
  • Python 從入門到精通, 3/e-preview-3
Python 從入門到精通, 3/e-preview-1

買這商品的人也買了...

商品描述

《Python從入門到精通(第3版)》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了使用Python進行程序開發應該掌握的各方面技術。全書共分27章,包括初識Python、Python語言基礎、運算符與表達式、流程控制語句、列表和元組、字典和集合、字符串、Python中使用正則表達式、函數、面向對象程序設計、模塊、文件及目錄操作、操作數據庫、使用進程和線程、網絡編程、異常處理及程序調試、Pygame游戲編程、推箱子游戲、網絡爬蟲開發、火車票分析助手、數據可視化、京東電商銷售數據分析與預測、Web編程、Flask框架、e起去旅行網站、Python自動化辦公、AI圖像識別工具等內容。書中所有知識都結合具體實例進行介紹,涉及的程序代碼都給出了詳細的註釋,讀者可輕松領會Python程序開發的精髓,快速提升開發技能。

目錄大綱

第1篇 基礎知識

第1章 初識Python 2

視頻講解:77分鐘

1.1 Python簡介 2

1.1.1 什麽是Python 2

1.1.2 Python的版本 3

1.1.3 Python能做什麽 3

1.2 搭建Python開發環境 4

1.2.1 開發環境概述 4

1.2.2 安裝Python 5

1.2.3 編寫第一個Python程序 9

1.2.4 運行已經編寫好的.py文件 10

1.3 Python開發工具 11

1.3.1 使用自帶的IDLE 11

1.3.2 使用Visual Studio Code 13

1.3.3 常用的第三方開發工具 19

1.4 實踐與練習 20

第2章 Python語言基礎 21

視頻講解:145分鐘

2.1 Python語法特點 21

2.1.1 註釋規則 21

2.1.2 代碼縮進 24

2.1.3 編碼規範 26

2.2 Python中的變量 27

2.2.1 保留字與標識符 27

2.2.2 理解Python中的變量 29

2.2.3 定義變量 30

2.3 基本數據類型 31

2.3.1 數字 31

2.3.2 字符串 33

2.3.3 布爾類型 34

2.3.4 數據類型轉換 35

2.4 基本輸入和輸出 36

2.4.1 使用input()函數輸入 36

2.4.2 使用print()函數輸出 37

2.4.3 使用pprint()函數輸出 38

2.5 實踐與練習 39

第3章 運算符與表達式 40

視頻講解:70分鐘

3.1 運算符 40

3.1.1 算術運算符 40

3.1.2 賦值運算符 42

3.1.3 比較(關系)運算符 42

3.1.4 邏輯運算符 43

3.1.5 位運算符 44

3.2 運算符的優先級 46

3.3 條件表達式 47

3.4 實踐與練習 47

第4章 流程控制語句 48

視頻講解:139分鐘

4.1 程序結構 48

4.2 選擇語句 49

4.2.1 最簡單的if語句 49

4.2.2 if…else語句 51

4.2.3 if…elif…else語句 53

4.2.4 選擇語句的嵌套 54

4.2.5 match…case語句 55

4.3 循環語句 58

4.3.1 while循環 58

4.3.2 for循環 59

4.3.3 循環嵌套 61

4.4 break、continue和pass語句 62

4.4.1 break語句 63

4.4.2 continue語句 64

4.4.3 pass語句 65

4.5 實踐與練習 65

第5章 列表和元組 66

視頻講解:202分鐘

5.1 序列概述 66

5.1.1 索引 67

5.1.2 切片 67

5.1.3 序列相加 68

5.1.4 乘法 69

5.1.5 檢查某個元素是否是序列的成員(元素) 69

5.1.6 計算序列的長度、最大值和最小值 70

5.2 列表 71

5.2.1 列表的創建和刪除 71

5.2.2 訪問列表元素 73

5.2.3 遍歷列表 74

5.2.4 添加、修改和刪除列表元素 75

5.2.5 對列表進行統計計算 78

5.2.6 對列表進行排序 79

5.2.7 列表推導式 81

5.2.8 二維列表 83

5.3 元組 85

5.3.1 元組的創建和刪除 85

5.3.2 訪問元組元素 88

5.3.3 修改元組 89

5.3.4 元組推導式 91

5.3.5 元組與列表的區別 92

5.4 實踐與練習 92

第6章 字典和集合 93

視頻講解:86分鐘

6.1 字典 93

6.1.1 字典的創建和刪除 94

6.1.2 訪問字典 96

6.1.3 遍歷字典 98

6.1.4 添加、修改和刪除字典元素 99

6.1.5 字典推導式 100

6.2 集合 100

6.2.1 創建集合 101

6.2.2 向集合中添加和刪除元素 102

6.2.3 集合的交集、並集和差集運算 104

6.3 實踐與練習 104

第7章 字符串 105

視頻講解:118分鐘

7.1 字符串編碼轉換 105

7.1.1 使用encode()方法編碼 106

7.1.2 使用decode()方法解碼 107

7.2 字符串常用操作 107

7.2.1 拼接字符串 107

7.2.2 計算字符串的長度 108

7.2.3 截取字符串 109

7.2.4 分割、合並字符串 110

7.2.5 檢索字符串 112

7.2.6 字母的大小寫轉換 115

7.2.7 去除字符串中的空格和特殊字符 116

7.2.8 格式化字符串 118

7.3 實踐與練習 121

第2篇 進階提高

第8章 Python中使用正則表達式 124

視頻講解:45分鐘

8.1 正則表達式語法 124

8.1.1 行定位符 124

8.1.2 元字符 125

8.1.3 限定符 125

8.1.4 字符類 126

8.1.5 排除字符 126

8.1.6 選擇字符 126

8.1.7 轉義字符 126

8.1.8 分組 127

8.1.9 在Python中使用正則表達式語法 127

8.2 使用re模塊實現正則表達式操作 128

8.2.1 匹配字符串 128

8.2.2 替換字符串 132

8.2.3 使用正則表達式分割字符串 132

8.3 實踐與練習 133

第9章 函數 134

視頻講解:118分鐘

9.1 函數的創建和調用 134

9.1.1 創建一個函數 134

9.1.2 調用函數 136

9.2 參數傳遞 137

9.2.1 瞭解形式參數和實際參數 137

9.2.2 位置參數 139

9.2.3 關鍵字參數 141

9.2.4 為參數設置默認值 141

9.2.5 可變參數 143

9.2.6 類型聯合運算符 145

9.3 返回值 145

9.4 變量的作用域 147

9.4.1 局部變量 147

9.4.2 全局變量 147

9.5 匿名函數 149

9.6 實踐與練習 151

第10章 面向對象程序設計 152

視頻講解:109分鐘

10.1 面向對象概述 152

10.1.1 對象 153

10.1.2 類 153

10.1.3 面向對象程序設計的特點 153

10.2 類的定義和使用 155

10.2.1 定義類 155

10.2.2 創建類的實例 155

10.2.3 創建__init__()方法 156

10.2.4 創建類的成員並訪問 157

10.2.5 訪問限制 161

10.3 屬性 161

10.3.1 創建用於計算的屬性 161

10.3.2 為屬性添加安全保護機制 162

10.4 繼承 164

10.4.1 繼承的基本語法 164

10.4.2 方法重寫 165

10.4.3 派生類中調用基類的__init__()方法 166

10.5 實踐與練習 167

第11章 模塊 168

視頻講解:105分鐘

11.1 模塊概述 168

11.2 自定義模塊 169

11.2.1 創建模塊 169

11.2.2 使用import語句導入模塊 170

11.2.3 使用from…import語句導入模塊 170

11.2.4 模塊搜索目錄 173

11.3 Python中的包 175

11.3.1 Python程序的包結構 175

11.3.2 創建和使用包 175

11.3.3 以主程序的形式執行 178

11.4 引用其他模塊 180

11.4.1 導入和使用標準模塊 180

11.4.2 第三方模塊的下載與安裝 181

11.5 實踐與練習 182

第12章 文件及目錄操作 183

視頻講解:140分鐘

12.1 基本文件操作 183

12.1.1 創建和打開文件 184

12.1.2 關閉文件 186

12.1.3 打開文件時使用with語句 186

12.1.4 寫入文件內容 187

12.1.5 讀取文件 188

12.2 目錄操作 192

12.2.1 os和os.path模塊 192

12.2.2 路徑 193

12.2.3 判斷目錄是否存在 195

12.2.4 創建目錄 195

12.2.5 刪除目錄 197

12.2.6 遍歷目錄 197

12.3 高級文件操作 199

12.3.1 刪除文件 199

12.3.2 重命名文件和目錄 200

12.3.3 獲取文件基本信息 201

12.4 實踐與練習 202

第13章 操作數據庫 203

視頻講解:79分鐘

13.1 數據庫編程接口 203

13.1.1 連接對象 203

13.1.2 游標對象 204

13.2 使用SQLite 205

13.2.1 創建數據庫文件 205

13.2.2 操作SQLite 206

13.3 使用MySQL 209

13.3.1 下載和安裝MySQL 209

13.3.2 安裝PyMySQL 213

13.3.3 連接數據庫 214

13.3.4 創建數據表 214

13.3.5 操作MySQL數據表 215

13.4 實踐與練習 216

第14章 使用進程和線程 217

視頻講解:104分鐘

14.1 什麽是進程 217

14.2 創建進程的常用方式 218

14.2.1 使用multiprocessing模塊創建進程 218

14.2.2 使用Process子類創建進程 220

14.2.3 使用進程池Pool創建進程 221

14.3 進程間通信 223

14.3.1 隊列簡介 224

14.3.2 多進程隊列的使用 224

14.3.3 使用隊列在進程間通信 226

14.4 什麽是線程 227

14.5 創建線程 227

14.5.1 使用threading模塊創建線程 227

14.5.2 使用Thread子類創建線程 228

14.6 線程間通信 229

14.6.1 什麽是互斥鎖 229

14.6.2 使用互斥鎖 230

14.6.3 使用隊列在線程間進行通信 231

14.7 異步編程asyncio模塊 232

14.7.1 什麽是異步編程 232

14.7.2 創建協程任務 234

14.7.3 使用協程執行多個耗時任務 235

14.7.4 協程嵌套與列表推導式 235

14.8 實踐與練習 236

第15章 網絡編程 237

視頻講解:60分鐘

15.1 網絡基礎 237

15.1.1 為什麽要使用通信協議 237

15.1.2 TCP/IP簡介 238

15.1.3 UDP簡介 239

15.1.4 socket簡介 239

15.2 TCP編程 241

15.2.1 創建TCP服務器 241

15.2.2 創建TCP客戶端 242

15.2.3 執行TCP服務器和客戶端 243

15.3 UDP編程 245

15.3.1 創建UDP服務器 245

15.3.2 創建UDP客戶端 246

15.3.3 執行UDP服務器和客戶端 247

15.4 實踐與練習 247

第16章 異常處理及程序調試 248

視頻講解:60分鐘

16.1 異常概述 248

16.2 異常處理語句 250

16.2.1 try…except語句 250

16.2.2 try…except…else語句 252

16.2.3 try…except…finally語句 252

16.2.4 使用raise語句拋出異常 253

16.2.5 更清晰的錯誤信息 255

16.3 程序調試 255

16.3.1 使用自帶的IDLE進行程序調試 255

16.3.2 使用assert語句調試程序 258

16.4 實踐與練習 259

第3篇 項目應用

游戲開發與項目

第17章 Pygame游戲編程 263

視頻講解:50分鐘

17.1 初識Pygame 263

17.1.1 安裝Pygame 264

17.1.2 Pygame常用模塊 265

17.2 窗口坐標系與pygame.Rect對象 266

17.2.1 窗口坐標系 266

17.2.2 pygame.Rect對象 266

17.3 事件偵測 266

17.3.1 事件檢索 266

17.3.2 處理鍵盤事件 269

17.3.3 自定義事件 271

17.4 位圖圖形 272

17.4.1 位圖基礎 272

17.4.2 Surface對象 272

17.4.3 Rect矩形對象 276

17.5 音頻控制 283

17.5.1 設備的初始化 283

17.5.2 加載聲音文件 284

17.5.3 控制聲音流 284

第18章 推箱子游戲 289

視頻講解:3分鐘

18.1 需求分析 289

18.2 案例準備 290

18.3 業務流程 290

18.4 實現過程 291

18.4.1 文件夾組織結構 291

18.4.2 搭建主框架 291

18.4.3 繪制游戲地圖 293

18.4.4 用鍵盤控制角色移動 297

18.4.5 判斷游戲是否通關 302

18.4.6 記錄步數 302

18.4.7 撤銷角色已移動功能 303

18.4.8 重玩此關的實現 305

18.4.9 游戲進入下一關 305

爬蟲開發與項目

第19章 網絡爬蟲開發 308

視頻講解:90分鐘

19.1 初識網絡爬蟲 308

19.1.1 網絡爬蟲概述 308

19.1.2 網絡爬蟲的分類 308

19.1.3 網絡爬蟲的基本原理 309

19.2 網絡爬蟲的常用技術 310

19.2.1 Python的網絡請求 310

19.2.2 請求headers處理 312

19.2.3 網絡超時 313

19.2.4 代理服務 314

19.2.5 HTML解析之BeautifulSoup 315

19.3 網絡爬蟲開發常用框架Scrapy 317

19.3.1 安裝Scrapy爬蟲框架 317

19.3.2 創建Scrapy項目 318

19.3.3 創建爬蟲 319

第20章 火車票分析助手 321

視頻講解:4分鐘

20.1 需求分析 321

20.2 案例準備 323

20.3 業務流程 323

20.4 主窗體的UI設計 323

20.4.1 主窗體的佈局 323

20.4.2 主窗體顯示效果 329

20.5 爬取數據 330

20.5.1 獲取請求地址與參數 330

20.5.2 下載數據文件 332

20.5.3 查詢所有車票信息 336

20.5.4 卧鋪票的查詢與分析 338

20.5.5 查詢車票起售時間 340

20.6 窗體的數據顯示 342

20.6.1 車票查詢區域的數據顯示 342

20.6.2 卧鋪售票分析區域的數據顯示 344

20.6.3 卧鋪車票數量走勢圖的顯示 347

20.6.4 查詢車票起售時間的數據顯示 349

數據可視化與項目

第21章 數據可視化 353

視頻講解:225分鐘

21.1 初識數據可視化 353

21.1.1 什麽是數據可視化 353

21.1.2 數據可視化的作用 353

21.1.3 數據可視化常用工具 354

21.2 NumPy數值計算 355

21.2.1 安裝NumPy 355

21.2.2 NumPy的數據類型 355

21.2.3 ndarray數組對象 356

21.2.4 dtype數據類型對象 357

21.2.5 數組的基本操作 357

21.3 pandas數據處理 362

21.3.1 pandas數據結構 362

21.3.2 讀寫數據 366

21.3.3 數據操作 371

21.4 Matplotlib繪制常用圖表 377

21.4.1 繪制柱形圖 377

21.4.2 繪制折線圖 378

21.4.3 繪制散點圖 379

21.4.4 繪制餅形圖 380

第22章 京東電商銷售數據分析與預測 382

視頻講解:3分鐘

22.1 需求分析 382

22.2 案例準備 383

22.3 業務流程 383

22.4 分析方法 384

22.5 實現過程 385

22.5.1 日期數據統計並顯示 385

22.5.2 銷售收入分析 386

22.5.3 銷售收入與廣告費相關性分析 386

22.5.4 銷售收入預測 389

22.5.5 預測評分 390

Web開發與項目

第23章 Web編程 392

視頻講解:93分鐘

23.1 Web基礎 392

23.1.1 HTTP協議 392

23.1.2 Web服務器 393

23.1.3 前端基礎 395

23.1.4 靜態服務器 397

23.2 WSGI接口 401

23.2.1 CGI簡介 401

23.2.2 WSGI簡介 401

23.2.3 定義WSGI接口 402

23.2.4 運行WSGI服務 403

23.3 Web框架 405

23.3.1 什麽是Web框架 405

23.3.2 Python中常用的Web框架 406

第24章 Flask框架 407

視頻講解:75分鐘

24.1 Flask簡介 407

24.1.1 安裝虛擬環境 407

24.1.2 安裝Flask 408

24.1.3 第一個Flask程序 409

24.2 Flask基礎 410

24.2.1 開啟調試模式 410

24.2.2 路由 410

24.2.3 靜態文件 412

24.2.4 藍圖 413

24.3 模板 413

24.3.1 渲染模板 413

24.3.2 變量 415

24.3.3 控制結構 415

24.4 Web表單 417

24.4.1 CSRF保護和驗證 417

24.4.2 表單類 418

24.4.3 把表單渲染成HTML 419

第25章 e起去旅行網站 422

視頻講解:147分鐘

25.1 系統功能設計 422

25.1.1 系統功能結構 422

25.1.2 系統業務流程 423

25.2 系統開發必備 424

25.2.1 系統開發環境 424

25.2.2 文件夾組織結構 424

25.3 數據庫設計 425

25.3.1 數據庫概要說明 425

25.3.2 數據表模型 425

25.3.3 數據表關系 426

25.4 前臺用戶模塊設計 427

25.4.1 會員註冊功能實現 427

25.4.2 會員登錄功能實現 433

25.4.3 會員退出功能實現 434

25.5 前臺首頁模塊設計 434

25.5.1 推薦景區功能實現 436

25.5.2 推薦地區功能實現 437

25.5.3 搜索景區功能實現 438

25.6 景區模塊設計 441

25.6.1 查看景區功能實現 441

25.6.2 查看游記功能實現 443

25.6.3 收藏景區功能實現 444

25.6.4 查看收藏景區功能實現 447

25.7 關於我們模塊設計 450

25.8 後台模塊設計 453

25.8.1 管理員登錄功能實現 453

25.8.2 景區管理功能實現 454

25.8.3 地區管理功能實現 464

25.8.4 游記管理功能實現 464

25.8.5 會員管理功能實現 465

25.8.6 日誌管理功能實現 465

Python自動化辦公

第26章 Python自動化辦公 468

視頻講解:31分鐘

26.1 使用Python操作Word 468

26.1.1 將Word文件轉換為PDF文件 468

26.1.2 將多個Word文件合並為一個PDF文件 470

26.1.3 提取Word文檔目錄 472

26.1.4 替換Word文檔中的內容 473

26.1.5 統計並匯總Word文檔中的頁碼 475

26.2 使用Python操作Excel 477

26.2.1 爬取數據並將其導出到Excel中 477

26.2.2 批量復制Excel中的Sheet頁 480

26.3 使用Python操作PPT 482

26.4 使用Python操作電子郵件 484

26.4.1 發送HTML格式電子郵件 484

26.4.2 發送帶附件的電子郵件 485

Python人工智能初探

第27章 AI圖像識別工具 488

視頻講解:94分鐘

27.1 需求分析 488

27.2 系統設計流程 488

27.3 系統開發必備 489

27.3.1 系統開發環境 489

27.3.2 文件夾組織結構 489

27.4 開發前的準備工作 489

27.4.1 申請百度AI接口 490

27.4.2 urllib、urllib.request模塊 491

27.4.3 json模塊 492

27.5 AI圖像識別工具的開發 492

27.5.1 根據項目設計製作窗體 492

27.5.2 添加分類 493

27.5.3 選擇識別的圖片 493

27.5.4 銀行卡圖像識別 495

27.5.5 植物圖像識別 496

27.5.6 復制識別結果到剪貼板中 497

附錄A PyCharm開發工具的使用 498