開啟主選單

求真百科

零基礎入門學習Python

來自 孔夫子網 的圖片

零基礎入門學習Python》,小甲魚 著,出版社: 清華大學出版社。

清華大學出版社成立於1980年6月,是教育部主管、清華大學主辦的綜合性大學出版社[1]。清華社現年出版圖書、音像製品、電子出版物等近3000種,銷售規模和綜合實力以及在高等教育教材市場、科技圖書市場、館配圖書市場占有率均名列前茅[2]

目錄

內容簡介

本書提倡理解為主,應用為王。因此,只要有可能,小甲魚(註:作者)都會通過生動的實例來讓大家理解概念。 雖然這是一本入門書籍,但本書的「野心」並不止於「初級水平」的教學。本書前半部分首先講解基礎的Python 3語法知識,包括列表、元組、字符串、字典以及各種語句;之後循序漸進地介紹一些相對高級的主題,包括抽象、異常、魔法方法以及屬性迭代器。後半部分則圍繞着Python 3在爬蟲、界面開發和遊戲開發上的應用,通過實例引導讀者進行深入學習和探究,既富有樂趣,又鍛煉了讀者的動手能力。 本書適合學習Python 3的入門讀者,也適合對編程一無所知,但渴望用編程改變世界的朋友們。

目錄

第1章 就這麼愉快地開始吧 1

視頻講解:13分鐘(1個)鍾

1.1 獲得Python 1

1.2 從IDLE啟動Python 2

1.3 失敗的嘗試 3

1.4 嘗試點兒新的東西 3

1.5 為什麼會這樣 4

第2章 用Python設計個遊戲 5

視頻講解:24分鐘(1個)鍾

2.1 個小遊戲 5

2.2 縮進 6

2.3 BIF 7

第3章 成為高手前必須知道的一些基礎知識 9

視頻講解:82分鐘(4個)鍾

3.1 變量 9

3.2 字符串 10

3.3 原始字符串 11

3.4 長字符串 12

3.5 改進我們的小遊戲 13

3.6 條件分支 14

3.7 初識循環 15

3.8 引入外援 16

3.9 閒聊數據類型 17

3.9.1 整型 18

3.9.2 浮點型 18

3.9.3 布爾類型 19

3.9.4 類型轉換 19

3.9.5 獲得關於類型的信息 20

3.10 常用操作符 21

3.10.1 算術操作符 21

3.10.2 優先級問題 22

3.10.3 比較操作符 23

3.10.4 邏輯操作符 23

第4章 了不起的分支和循環 25

視頻講解:42分鐘(3個)鍾

4.1 分支和循環 25

4.2 快速上手 27

4.3 避免「懸掛else」問題 28

4.4 條件表達式(三元操作符) 29

4.5 斷言 31

4.6 while循環語句 31

4.7 for循環語句 32

4.8 break語句 34

4.9 continue語句 35

4.10 else語句 35

第5章 列表、元組和字符串 37

視頻講解:137分鐘(7個)鍾

5.1 列表:一個「打了激素」的數組 37

5.1.1 創建列表 37

5.1.2 向列表添加元素 38

5.1.3 從列表中獲取元素 39

5.1.4 從列表刪除元素 40

5.1.5 列表切片 42

5.1.6 進階玩法 43

5.1.7 一些常用操作符 44

5.1.8 列表的小夥伴們 46

5.2 元組:戴上了「枷鎖」的列表 47

5.2.1 創建和訪問一個元組 47

5.2.2 更新和刪除元組 49

5.3 字符串 50

5.3.1 各種內置方法 51

5.3.2 格式化 54

5.4 序列 57

第6章 函數 62

視頻講解:140分鐘(8個)鍾

6.1 Python的樂高積木 62

6.1.1 創建和調用函數 62

6.1.2 函數的參數 63

6.1.3 函數的返回值 64

6.2 靈活即強大 65

6.2.1 形參和實參 65

6.2.2 函數文檔 66

6.2.3 關鍵字參數 67

6.2.4 默認參數 67

6.2.5 收集參數 68

6.3 我的地盤聽我的 70

6.3.1 局部變量 70

6.3.2 全局變量 71

6.3.3 global關鍵字 73

6.3.4 內嵌函數 73

6.3.5 LEGB原則 74

6.3.6 閉包 75

6.3.7 裝飾器 78

6.4 函數式編程 80

6.4.1 lambda 80

6.4.2 filter() 81

6.4.3 map() 82

6.5 遞歸 83

6.5.1 遞歸是什麼 83

6.5.2 寫一個求階乘的函數 85

6.5.3 一幫小兔子——斐波那契數列 87

6.5.4 漢諾塔 89

第7章 字典和集合 92

視頻講解:46分鐘(3個)鍾

7.1 字典:當索引不好用時 92

7.1.1 創建和訪問字典 93

7.1.2 各種內置方法 95

7.2 集合:在我的世界裡,你就是 99

7.2.1 創建集合 100

7.2.2 訪問集合 101

7.2.3 不可變集合 101

第8章 永久存儲 103

視頻講解:68分鐘(4個)鍾

8.1 文件:因為懂你,所以永恆 103

8.1.1 打開文件 103

8.1.2 文件對象的方法 104

8.1.3 文件的關閉 105

8.1.4 文件的讀取和定位 105

8.1.5 文件的寫入 106

8.1.6 一個任務 107

8.2 文件系統:介紹一個高大上的東西 109

8.3 pickle:醃製一缸美味的泡菜 115

第9章 異常處理 117

視頻講解:38分鐘(3個)鍾

9.1 你不可能總是對的 117

9.2 try-except語句 120

9.3 try-finally語句 122

9.4 raise語句 122

9.5 豐富的else語句 123

9.6 簡潔的with語句 124

第10章 圖形用戶界面入門 126

視頻講解:14分鐘(1個)鍾

10.1 安裝EasyGui 126

10.1.1 導入EasyGui 127

10.1.2 快速入門 127

10.1.3 各種功能演示 129

10.2 默認參數和關鍵字參數 130

10.3 使用按鈕組件 131

10.4 如何在buttonbox裡邊顯示圖片 132

10.5 為用戶提供一系列選項 133

10.6 讓用戶輸入消息 134

10.7 讓用戶輸入密碼 137

10.8 顯示文本 138

10.9 目錄與文件 139

10.10 捕獲異常 140

10.11 記住用戶的設置 141

第11章 類和對象 143

視頻講解:78分鐘(5個)鍾

11.1 給大家介紹對象 143

11.2 對象=屬性 方法 143

11.3 面向對象編程 145

11.3.1 self是什麼 145

11.3.2 聽說過Python的魔法方法嗎 146

11.3.3 公有和私有 146

11.4 繼承 148

11.4.1 調用未綁定的父類方法 150

11.4.2 使用super函數 151

11.5 多重繼承 151

11.6 組合 152

11.7 類、類對象和實例對象 153

11.8 到底什麼是綁定 154

11.9 一些相關的BIF 156

第12章 魔法方法 160

視頻講解:140分鐘(9個)鍾

12.1 構造和析構 160

12.1.1 _?_init_?_(self[, ...]) 160

12.1.2 _?_new_?_(cls[, ...]) 161

12.1.3 _?_del_?_(self) 162

12.2 算術運算 163

12.2.1 常見的算術運算 163

12.2.2 反運算 166

12.2.3 一元操作符 167

12.3 簡單定製 167

12.4 屬性訪問 173

12.5 描述符(property的原理) 177

12.6 定製序列 180

12.7 迭代器 182

12.8 生成器 185

12.9 生成器表達式 187

第13章 模塊 190

視頻講解:36分鐘(3個)鍾

13.1 模塊就是程序 190

13.2 命名空間 191

13.3 導入模塊 191

13.4 _?_name_?_='_?_main_?_' 192

13.5 搜索路徑 194

13.6 包 195

13.7 像個極客一樣去思考 196

第14章 論一隻爬蟲的自我修養 202

視頻講解:76分鐘(4個)鍾

14.1 入門 202

14.2 什麼是編碼 205

14.3 下載一隻貓 205

14.4 更好的選擇 207

14.4.1 沒有對比就沒有傷害 207

14.4.2 安裝Requests 208

14.4.3 安裝BeautifulSoup4 208

14.5 爬取豆瓣Top250電影排行榜 209

14.6 爬取音樂的熱門 213

第15章 正則表達式 221

視頻講解:55分鐘(3個)鍾

15.1 re模塊 221

15.2 通配符 221

15.3 反斜槓 222

15.4 字符類 223

15.5 重複匹配 223

15.6 殊符號及用法 225

15.7 元字符 227

15.8 貪婪和非貪婪 229

15.9 反斜槓 普通字母=殊含義 230

15.10 編譯正則表達式 231

15.11 實用的方法 233

第16章 Scrapy爬蟲框架 238

視頻講解:56分鐘(2個)鍾

16.1 環境搭建 238

16.1.1 安裝Miniconda 238

16.1.2 安裝Scrapy 241

16.2 Scrapy框架架構 241

16.3 創建一個Scrapy項目 243

16.4 編寫爬蟲 244

16.5 爬 245

16.6 取 246

16.6.1 在Shell中嘗試Selector選擇器 246

16.6.2 使用XPath選擇器 247

16.6.3 使用CSS選擇器 248

16.6.4 提取數據 249

16.6.5 在爬蟲中提取數據 250

16.7 存儲內容 251

16.8 跟進鏈接 252

第17章 GUI的終選擇:Tkinter 254

視頻講解:295分鐘(14個)鍾

17.1 Tkinter之初體驗 254

17.2 進階版本 255

17.3 Label組件 258

17.4 Button組件 260

17.5 Checkbutton組件 261

17.6 Radiobutton組件 262

17.7 LabelFrame組件 264

17.8 Entry組件 265

17.9 Listbox組件 272

17.10 Scrollbar組件 275

17.11 Scale組件 276

17.12 Text組件 278

17.12.1 Indexes用法 280

17.12.2 Mark用法 283

17.12.3 Tag用法 285

17.13 Canvas組件 292

17.14 Menu組件 298

17.15 Menubutton組件 302

17.16 OptionMenu組件 303

17.17 Message組件 305

17.18 Spinbox組件 306

17.19 PanedWindow組件 306

17.20 Toplevel組件 309

17.21 事件綁定 311

17.22 事件序列 312

17.22.1 type 313

17.22.2 modifier 314

17.23 Event對象 314

17.24 布局管理器 316

17.24.1 pack 316

17.24.2 grid 318

17.24.3 ce 319

17.25 標準對話框 321

17.25.1 messagebox 321

17.25.2 fieldialog 323

17.25.3 colorchooser 324

第18章 Pygame:遊戲開發 326

視頻講解:460分鐘(19個)鍾

18.1 安裝Pygame 326

18.2 初步嘗試 327

18.3 解惑 330

18.3.1 什麼是Surface對象 330

18.3.2 將一個圖像繪製到另一個圖像上是怎麼回事 330

18.3.3 移動圖像是怎麼回事 330

18.3.4 如何控制遊戲的速度 331

18.3.5 Pygame的效率高不高 332

18.3.6 應該從哪裡獲得幫助 332

18.4 事件 332

18.5 提高遊戲的顏值 336

18.5.1 顯示模式 336

18.5.2 全屏才是王道 337

18.5.3 使窗口尺寸可變 338

18.5.4 圖像的變換 338

18.5.5 裁剪圖像 341

18.5.6 轉換圖片 346

18.5.7 透明度分析 346

18.6 繪製基本圖形 351

18.6.1 繪製矩形 351

18.6.2 繪製多邊形 352

18.6.3 繪製圓形 353

18.6.4 繪製橢圓形 354

18.6.5 繪製弧線 355

18.6.6 繪製線段 356

18.7 動畫精靈 356

18.7.1 創建精靈 358

18.7.2 移動精靈 360

18.8 碰撞檢測 361

18.8.1 嘗試自己寫碰撞檢測函數 362

18.8.2 sprite模塊提供的碰撞檢測函數 365

18.8.3 實現完美碰撞檢測 367

18.9 播放聲音和音效 367

18.10 響應鼠標 371

18.10.1 設置鼠標的位置 371

18.10.2 自定義鼠標光標 372

18.10.3 讓小球響應光標的移動頻率 374

18.11 響應鍵盤 376

18.12 結束遊戲 377

18.12.1 發生碰撞後獲得隨機速度 377

18.12.2 減少「抖動」現象的發生 378

18.12.3 遊戲勝利 381

18.12.4 更好地結束遊戲 382

18.13 經典飛機大戰 389

18.13.1 遊戲設定 389

18.13.2 主模塊 390

18.13.3 我方飛機 392

18.13.4 響應鍵盤 393

18.13.5 飛行效果 394

18.13.6 敵方飛機 395

18.13.7 提升敵機速度 396

18.13.8 碰撞檢測 398

18.13.9 完美碰撞檢測 401

18.13.10 一個BUG 402

18.13.11 發射子彈 403

18.13.12 設置敵機「血槽」 405

18.13.13 中彈效果 406

18.13.14 繪製得分 407

18.13.15 暫停遊戲 408

18.13.16 控制難度 409

18.13.17 全屏炸彈 411

18.13.18 發放補給包 412

18.13.19 超級子彈 415

18.13.20 三次機會 417

18.13.21 結束畫面 420

參考文獻

  1. 我國出版社的等級劃分和分類標準,知網出書,2021-03-01
  2. 企業簡介,清華大學出版社有限公司