第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 place 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
· · · · · · (
收起)