零基礎入門學習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
參考文獻
- ↑ 我國出版社的等級劃分和分類標準,知網出書,2021-03-01
- ↑ 企業簡介,清華大學出版社有限公司