從0到1 Python即學即用

莫振傑

  • 出版商: 人民郵電
  • 出版日期: 2023-04-01
  • 定價: $773
  • 售價: 7.5$580
  • 語言: 簡體中文
  • 頁數: 550
  • ISBN: 7115612013
  • ISBN-13: 9787115612014
  • 相關分類: Python程式語言
  • 立即出貨 (庫存 < 4)

  • 從0到1 Python即學即用-preview-1
  • 從0到1 Python即學即用-preview-2
從0到1 Python即學即用-preview-1

商品描述

本書是幫助Python新手入門的經典圖書,涵蓋了Python編程的方方面面。本書前半部分介紹了基礎知識與概念:從安裝Python、配置開發環境,到列表、元組、字符串、字典以及各種語句的基礎知識,再到抽象、異常、方法、屬性、迭代器等核心概念,Python與數據庫、網絡、C語言等工具結合使用,以及Python程序測試、打包、發布等知識。本書的後半部分,向讀者詳盡介紹了當下流行的多個Python項目的開發過程。 本次修訂,不僅在結構與細節知識上進行了優化和完善,還增加了貼近真實商業環境的案例,並輔以課件PPT和專門針對求職應聘的習題,旨在幫助讀者真正掌握Python開發的實戰能力。

作者簡介

莫振杰

绿叶学习网站长 | 人气系列教程作者

全栈工程师,涉猎前端开发、后端开发、数据库开发、数据科学等多个领域。拥有一个高人气的个人网站:绿叶学习网,用于分享技术经验,教程阅读量累计超过1000万。其创作的《Web前端开发精品课》与《从0到1》系列图书,凭借清新的风格与严谨的讲解,受到众多高校师生以及广大学习者的认可,并且被数十家高校选为教材使用。此外,他还曾被评为“人民邮电出版社IT图书2020年影响力作者”。

目錄大綱

目  錄

第 1 部分 基礎語法

第 1 章 快速掌握基礎知識 2

1.1 交互式解釋器:IDLE 2

1.2 VSCode 編輯器 4

1.3 變量 6

1.3.1 變量的命名 6

1.3.2 變量這樣用 8

1.4 數據類型 9

1.4.1 數字 10

1.4.2 字符串 11

1.4.3 判斷類型 12

1.5 運算符 13

1.5.1 算術運算符 13

1.5.2 賦值運算符 14

1.5.3 比較運算符 15

1.5.4 邏輯運算符 16

1.6 類型轉換 18

1.6.1 把“數字”轉換為“字符串” 18

1.6.2 把“字符串”轉換為“數字” 19

1.6.3 “整數”與“浮點數”互轉 20

1.7 註釋 20

1.8 輸出內容 21

1.9 輸入內容 23

1.10 試一試:交換兩個變量的值 25

1.11 試一試:交換個位和十位 26

1.12 小結 26

第 2 章 流程控制 28

2.1 選擇結構 28

2.1.1 單向選擇:if 28

2.1.2 雙向選擇:if-else 30

2.1.3 多向選擇:if-elif-else 31

2.1.4 if 語句的嵌套 31

2.1.5 條件表達式 33

2.1.6 真假判斷 34

2.2 循環結構 36

2.2.1 while 語句 36

2.2.2 for 語句 38

2.2.3 循環中的 else 41

2.2.4 pass 語句 42

2.3 break 和 continue 42

2.3.1 break 語句 42

2.3.2 continue 語句 44

2.4 試一試:獲取月份對應的季節 44

2.5 試一試:找出“水仙花數” 45

2.6 試一試:求 0~100 之間所有質數 46

2.7 試一試:輸出一個圖案 46

2.8 小結 47

第 3 章 列表與元組 49

3.1 列表概述 50

3.2 創建列表 50

3.3 基本操作 51

3.3.1 獲取元素 51

3.3.2 修改元素 52

3.3.3 添加元素 53

3.3.4 刪除元素 55

3.4 列表方法 57

3.4.1 統計元素的個數:count() 57

3.4.2 獲取元素下標:index() 58

3.4.3 顛倒元素順序:reverse() 59

3.4.4 元素大小排序:sort() 59

3.4.5 連接元素:join() 60

3.4.6 合並列表:extend() 61

3.4.7 清空列表:clear() 62

3.5 切片 63

3.6 更多實用操作 66

3.6.1 獲取長度:len() 66

3.6.2 遍歷列表:for-in 67

3.6.3 檢索列表:in 和 not in 68

3.6.4 數值計算:max()、min() 和sum() 68

3.6.5 列表運算 69

3.6.6 列表推導式 69

3.7 二維列表 71

3.8 元組 72

3.9 試一試:列表去重 75

3.10 試一試:輸出月份 75

3.11 試一試:求列表中的最大值 76

3.12 小結 76

第 4 章 字符串 78

4.1 多行字符串 78

4.2 原始字符串 79

4.3 基本操作 80

4.4 字符串方法 82

4.4.1 統計字符個數:count() 82

4.4.2 獲取子串的下標:index() 82

4.4.3 替換字符串:replace() 83

4.4.4 分割字符串:split() 84

4.4.5 去除首尾符號:strip() 85

4.4.6 大小寫轉換 86

4.4.7 判斷字符串 87

4.4.8 對齊方式 90

4.5 切片 91

4.6 更多實用操作 94

4.6.1 獲取長度:len() 94

4.6.2 類型轉換:list() 和 tuple() 95

4.6.3 字符串運算 97

4.6.4 字符串拼接 97

4.7 序列的通用操作 100

4.8 試一試:統計單詞的個數 100

4.9 試一試:將首字母轉換成大寫 101

4.10 小結 101

第 5 章 字典與集合 102

5.1 字典概述 102

5.2 創建字典 102

5.3 基本操作 103

5.3.1 獲取某個鍵的值 103

5.3.2 修改某個鍵的值 104

5.3.3 增加鍵值對 104

5.3.4 刪除鍵值對 105

5.4 字典方法 105

5.4.1 清空字典:clear() 106

5.4.2 復制字典:copy() 106

5.4.3 更新字典:update() 107

5.4.4 創建新字典:fromkeys() 107

5.4.5 設置默認值:setdefault() 108

5.4.6 獲取所有鍵:keys() 108

5.4.7 獲取所有值:values() 109

5.4.8 獲取所有鍵值:items() 110

5.5 更多實用操作 111

5.5.1 獲取長度:len() 112

5.5.2 檢索字典:in、not in 112

5.5.3 合並字典 113

5.5.4 字典推導式 113

5.6 集合概述 114

5.6.1 集合簡介 114

5.6.2 基本操作 115

5.6.3 集合操作 116

5.6.4 集合推導式 117

5.6.5 應用場景 118

5.7 試一下:統計數字出現的次數 119

5.8 試一試:統計出現次數最多的字母 119

5.9 小結 120

第 6 章 函數 121

6.1 函數簡介 121

6.2 函數的定義 123

6.2.1 沒有返回值的函數 123

6.2.2 有返回值的函數 124

6.2.3 變量作用域 125

6.3 函數的調用 127

6.3.1 直接調用 127

6.3.2 在表達式中調用 128

6.4 函數參數 128

6.4.1 形參和實參 128

6.4.2 參數可以是任何類型 129

6.4.3 位置參數 129

6.4.4 關鍵字參數 130

6.4.5 參數默認值 131

6.5 嵌套函數 133

6.6 遞歸函數 134

6.7 內置函數 136

6.8 試一試:判斷某一年是否閏年 138

6.9 試一試:冒泡排序 138

6.10 小結 139

第 7 章 類與對象 141

7.1 面向對象 141

7.2 創建對象 142

7.3 構造函數:__init__() 144

7.4 類屬性和實例屬性 146

7.5 類方法和實例方法 148

7.6 靜態方法 149

7.7 繼承 150

7.8 試一試:封裝一個矩形類 152

7.9 試一試:封裝一個銀行賬戶類 152

7.10 小結 153

第 8 章 異常 154

8.1 常見異常 154

8.2 處理異常 156

8.2.1 try-except 語句 157

8.2.2 else 子句 160

8.2.3 finally 子句 160

8.3 錯誤級別 162

8.3.1 低級錯誤 162

8.3.2 中級錯誤 162

8.3.3 高級錯誤 163

8.4 試一試:處理計算異常 164

8.5 小結 164

第 9 章 模塊 165

9.1 包與模塊 165

9.1.1 包是什麽 165

9.1.2 模塊是什麽 166

9.1.3 自定義包 167

9.1.4 自定義模塊 169

9.1.5 以主程序形式執行 171

9.2 數學模塊:math 172

9.2.1 圓周率:pi 174

9.2.2 平方根:sqrt() 174

9.2.3 冪運算:pow() 175

9.2.4 向上取整:ceil() 175

9.2.5 向下取整:floor() 176

9.2.6 三角函數 177

9.3 隨機數模塊:random 179

9.3.1 隨機整數 179

9.3.2 隨機浮點數 181

9.3.3 隨機序列 182

9.4 時間模塊:time 和 datetime 184

9.4.1 time 模塊 184

9.4.2 datetime 模塊 189

9.5 試一試:生成隨機驗證碼 192

9.6 試一試:計算函數執行時間 192

9.7 其他標準庫模塊 193

9.8 小結 194

第 10 章 文件 195

10.1 文件路徑 195

10.1.1 絕對路徑 195

10.1.2 相對路徑 196

10.2 讀取文件 197

10.2.1 讀取所有內容:read() 197

10.2.2 逐行讀取內容:readlines() 199

10.3 寫入文件 201

10.3.1 以“覆蓋”方式寫入文件 201

10.3.2 以“追加”方式寫入文件 202

10.4 pathlib 模塊 203

10.4.1 基本屬性 203

10.4.2 重命名 204

10.4.3 判斷路徑 206

10.4.4 拼接路徑 207

10.4.5 創建與刪除路徑 208

10.5 os 模塊 210

10.5.1 獲取工作目錄 210

10.5.2 改變工作目錄 211

10.5.3 列舉所有文件 211

10.5.4 遍歷文件 212

10.5.5 獲取文件大小 214

10.5.6 獲取文件時間 215

10.6 shutil 模塊 217

10.6.1 復制文件 217

10.6.2 移動文件 219

10.6.3 刪除文件夾 221

10.7 send2trash 模塊 221

10.8 zipfile 模塊 222

10.8.1 讀取文件 223

10.8.2 解壓文件 224

10.8.3 壓縮文件 224

10.9 異常處理 227

10.9.1 try-except-finally 語句 227

10.9.2 with 語句 228

10.10 試一試:刪除某一類型文件 229

10.11 試一試:批量修改文件名 230

10.12 小結 232

第 11 章 正則表達式 233

11.1 正則表達式的使用 234

11.2 元字符 235

11.3 連接符 236

11.4 限定符 237

11.5 定位符 238

11.6 分組符 239

11.7 選擇符 242

11.8 轉義字符 243

11.9 不區分大小寫的匹配 243

11.10 貪心與非貪心 244

11.11 sub() 245

11.12 match() 和 search() 246

11.13 試一試:匹配手機號碼 248

11.14 試一試:匹配日期 248

11.15 試一試:匹配身份證號碼 249

11.16 試一試:匹配 E-mail 地址 249

11.17 小結 250

第 12 章 可迭代對象、迭代器與生成器 252

12.1 兩種循環 252

12.2 可迭代對象 253

12.3 迭代器 255

12.4 生成器 257

12.4.1 基本語法 257

12.4.2 元組生成器 258

12.5 內置函數 259

12.5.1 enumerate() 函數 259

12.5.2 reversed() 函數 260

12.5.3 sorted() 函數 262

12.6 小結 266

第 13 章 解包與壓包 267

13.1 解包 267

13.1.1 解包概述 268

13.1.2 * 和 ** 270

13.1.3 元組解包 276

13.1.4 函數形參:*args 和 **kwargs 277

13.2 壓包 278

13.3 小結 280

第 14 章 函數式編程 281

14.1 高階函數 281

14.1.1 filter() 282

14.1.2 map() 283

14.1.3 reduce() 284

14.2 lambda 表達式 286

14.2.1 用於簡化函數 286

14.2.2 用於回調函數 288

14.2.3 用於列表推導式 289

14.3 裝飾器 290

14.4 小結 292

第 2 部分 項目開發

第 15 章 圖像處理 294

15.1 必備基礎 294

15.1.1 顏色值 294

15.1.2 像素 296

15.1.3 坐標系 296

15.1.4 圖片格式 296

15.2 圖片操作 298

15.2.1 創建區域:Image.new() 300

15.2.2 改變大小:resize() 301

15.2.3 切割圖片:crop() 302

15.2.4 旋轉圖片:rotate() 303

15.2.5 翻轉圖片:transpose() 304

15.2.6 復制粘貼:copy()、paste() 305

15.3 繪制圖形 307

15.3.1 點 307

15.3.2 直線 308

15.3.3 矩形 309

15.3.4 多邊形 311

15.3.5 弧線 312

15.3.6 圓、橢圓或扇形 315

15.4 繪制文本 318

15.4.1 基本語法 318

15.4.2 設置字體 319

15.5 圖片美化 321

15.6 項目:批量處理圖片 323

第 16 章 自動化辦公 328

16.1 操作 CSV 文件 328

16.1.1 讀取 CSV 文件 329

16.1.2 寫入 CSV 文件 331

16.2 操作 Excel 文件 333

16.3 操作 PPT 文件 337

16.3.1 創建 PPT 文件 337

16.3.2 往占位符插入元素 339

16.3.3 往幻燈片中插入元素 342

16.3.4 PPT 母版 345

16.4 項目:自動生成 PPT 文件 348

第 17 章 網絡爬蟲 352

17.1 網頁基礎 352

17.1.1 HTML 簡介 352

17.1.2 CSS 簡介 353

17.1.3 JavaScript 簡介 355

17.2 請求網頁:Requests 庫 356

17.2.1 HTTP 請求 356

17.2.2 添加請求頭 359

17.3 提取數據:BeautifulSoup 庫 361

17.3.1 prettify() 方法 362

17.3.2 select() 方法 363

17.4 提取數據:Lxml 庫 366

17.5 項目:爬取“豆瓣電影 Top 250” 369

第 18 章 數據分析 375

18.1 數據分析學些什麽 375

18.2 Pandas 概述 375

18.3 DataFrame 376

18.3.1 創建 DataFrame 376

18.3.2 訪問數據 379

18.4 讀寫文件 380

18.4.1 讀寫 CSV 380

18.4.2 讀寫 Excel 文件 383

18.5 布爾選擇 386

18.6 字符串處理 388

18.7 統計函數 390

18.8 數據分組 392

18.8.1 groupby() 函數 392

18.8.2 統計分析 395

18.9 數據清洗 395

18.9.1 重復值 396

18.9.2 缺失值 399

18.9.3 異常值 403

18.10 項目:對企鵝數據進行分析 405

第 19 章 數據可視化 411

19.1 Matplotlib 概述 411

19.2 繪制折線圖 412

19.3 通用設置 414

19.3.1 主題風格 414

19.3.2 定義標題 416

19.3.3 定義圖例 418

19.3.4 刻度標簽 420

19.3.5 刻度範圍 423

19.4 散點圖 424

19.5 柱形圖 427

19.6 箱線圖 429

19.7 其他繪圖函數 432

19.8 項目:餐廳營業的可視化 433

第 20 章 數據庫操作 437

20.1 操作 SQLite 437

20.1.1 創建數據庫 437

20.1.2 增刪查改 439

20.2 操作 MySQL 443

20.2.1 使用 Navicat for MySQL 443

20.2.2 操作數據庫 451

20.3 操作 MongoDB 453

20.3.1 啟動 MongoDB 服務 453

20.3.2 操作數據庫 454

20.3.3 增刪查改 455

20.4 項目:操作員工信息表 460

第 21 章 郵件發送 465

21.1 開發準備 465

21.2 發送純文本格式的郵件 466

21.3 發送 HTML 格式的郵件 470

21.4 發送帶附件的郵件 472

21.4.1 附件為“純文本類型” 472

21.4.2 附件為“二進制類型” 474

21.5 項目:給會員發送郵件 476

第 22 章 GUI 編程 484

22.1 tkinter 概述 484

22.2 標簽(Label) 485

22.2.1 基本語法 485

22.2.2 使用內置圖片 489

22.3 普通按鈕(Button) 490

22.4 通用設置 492

22.4.1 樣式定義 493

22.4.2 佈局位置 496

22.5 復選按鈕(Checkbutton) 504

22.6 單選按鈕(Radiobutton) 508

22.7 分組框(LabelFrame) 510

22.8 文本框(Entry) 511

22.9 菜單(Menu) 514

22.10 消息文本(Message) 516

22.11 提示框 518

22.12 項目:簡易計算器 520

第 23 章 鼠標鍵盤自動化 525

23.1 必備基礎 525

23.1.1 屏幕坐標 525

23.1.2 鼠標與鍵盤 526

23.2 控制鼠標 526

23.2.1 移動鼠標 527

23.2.2 單擊鼠標 528

23.2.3 拖拽鼠標 530

23.2.4 滾動鼠標 531

23.3 鍵盤操作 531

23.3.1 輸入文本 532

23.3.2 敲擊按鍵 533

23.3.3 使用組合鍵 535

23.3.4 輸入中文 535

23.4 其他功能 536

23.4.1 屏幕截圖 536

23.4.2 提示框 536

23.4.3 圖片定位 539

23.5 項目:微信批量發送消息 540

第 24 章 程序打包 544

24.1 PyInstaller 概述 544

24.2 PyInstaller 的用法 544

24.3 高級打包 546

24.4 自定義圖標 547

24.5 去掉命令行窗口 548

24.6 項目:將簡易計算器程序打包 548