第一部分 基礎(chǔ)知識
第1章 起步 2
1.1 搭建編程環(huán)境 2
1.1.1 Python 2和Python 3 2
1.1.2 運行Python代碼片段 3
1.1.3 Hello World程序 3
1.2 在不同操作系統(tǒng)中搭建Python編程環(huán)境 3
1.2.1 在Linux系統(tǒng)中搭建Python編程環(huán)境 3
1.2.2 在OS X系統(tǒng)中搭建Python編程環(huán)境 6
1.2.3 在Windows系統(tǒng)中搭建Python編程環(huán)境 8
1.3 解決安裝問題 12
1.4 從終端運行Python程序 13
1.4.1 在Linux和OS X系統(tǒng)中從終端運行Python程序 13
1.4.2 在Windows系統(tǒng)中從終端運行Python程序 13
1.5 小結(jié) 14
第2章 變量和簡單數(shù)據(jù)類型 15
2.1 運行hello_world.py時發(fā)生的情況 15
2.2 變量 16
2.2.1 變量的命名和使用 16
2.2.2 使用變量時避免命名錯誤 17
2.3 字符串 18
2.3.1 使用方法修改字符串的大小寫 19
2.3.2 合并(拼接)字符串 19
2.3.3 使用制表符或換行符來添加空白 20
2.3.4 刪除空白 21
2.3.5 使用字符串時避免語法錯誤 22
2.3.6 Python 2中的print語句 23
2.4 數(shù)字 24
2.4.1 整數(shù) 24
2.4.2 浮點數(shù) 25
2.4.3 使用函數(shù)str()避免類型錯誤 25
2.4.4 Python 2中的整數(shù) 26
2.5 注釋 27
2.5.1 如何編寫注釋 27
2.5.2 該編寫什么樣的注釋 28
2.6 Python之禪 28
2.7 小結(jié) 30
第3章 列表簡介 31
3.1 列表是什么 31
3.1.1 訪問列表元素 32
3.1.2 索引從0而不是1開始 32
3.1.3 使用列表中的各個值 33
3.2 修改、添加和刪除元素 33
3.2.1 修改列表元素 34
3.2.2 在列表中添加元素 34
3.2.3 從列表中刪除元素 35
3.3 組織列表 39
3.3.1 使用方法sort()對列表進行永久性排序 39
3.3.2 使用函數(shù)sorted()對列表進行臨時排序 40
3.3.3 倒著打印列表 41
3.3.4 確定列表的長度 41
3.4 使用列表時避免索引錯誤 42
3.5 小結(jié) 43
第4章 操作列表 44
4.1 遍歷整個列表 44
4.1.1 深入地研究循環(huán) 45
4.1.2 在for循環(huán)中執(zhí)行更多的操作 46
4.1.3 在for循環(huán)結(jié)束后執(zhí)行一些操作 47
4.2 避免縮進錯誤 47
4.2.1 忘記縮進 48
4.2.2 忘記縮進額外的代碼行 48
4.2.3 不必要的縮進 49
4.2.4 循環(huán)后不必要的縮進 49
4.2.5 遺漏了冒號 50
4.3 創(chuàng)建數(shù)值列表 51
4.3.1 使用函數(shù)range() 51
4.3.2 使用range()創(chuàng)建數(shù)字列表 51
4.3.3 對數(shù)字列表執(zhí)行簡單的統(tǒng)計計算 53
4.3.4 列表解析 53
4.4 使用列表的一部分 54
4.4.1 切片 54
4.4.2 遍歷切片 56
4.4.3 復(fù)制列表 56
4.5 元組 59
4.5.1 定義元組 59
4.5.2 遍歷元組中的所有值 59
4.5.3 修改元組變量 60
4.6 設(shè)置代碼格式 61
4.6.1 格式設(shè)置指南 61
4.6.2 縮進 61
4.6.3 行長 61
4.6.4 空行 62
4.6.5 其他格式設(shè)置指南 62
4.7 小結(jié) 63
第5章 if語句 64
5.1 一個簡單示例 64
5.2 條件測試 65
5.3 if語句 70
5.4 使用if語句處理列表 76
5.5 設(shè)置if語句的格式 80
5.6 小結(jié) 80
第6章 字典 81
6.1 一個簡單的字典 81
6.2 使用字典 82
6.3 遍歷字典 87
6.4 嵌套 93
6.5 小結(jié) 99
第7章 用戶輸入和while循環(huán) 100
7.1 函數(shù)input()的工作原理 100
7.2 while循環(huán)簡介 104
7.3 使用while循環(huán)來處理列表和字典 110
7.4 小結(jié) 113
第8章 函數(shù) 114
8.1 定義函數(shù) 114
8.2 傳遞實參 116
8.3 返回值 121
8.4 傳遞列表 126
8.5 傳遞任意數(shù)量的實參 130
8.6 將函數(shù)存儲在模塊中 133
8.7 函數(shù)編寫指南 136
8.8 小結(jié) 137
第9章 類 138
9.1 創(chuàng)建和使用類 138
9.2 使用類和實例 142
9.3 繼承 147
9.4 導(dǎo)入類 153
9.5 Python標(biāo)準(zhǔn)庫 159
9.6 類編碼風(fēng)格 161
9.7 小結(jié) 161
第10章 文件和異常 162
10.1 從文件中讀取數(shù)據(jù) 162
10.2 寫入文件 169
10.3 異常 172
10.4 存儲數(shù)據(jù) 180
10.5 小結(jié) 186
第11章 測試代碼 187
11.1 測試函數(shù) 187
11.2 測試類 193
11.3 小結(jié) 199
第二部分 項 目
項目1 外星人入侵 202
第12章 武裝飛船 203
12.1 規(guī)劃項目 203
12.2 安裝Pygame 204
12.3 開始游戲項目 207
12.4 添加飛船圖像 211
12.5 重構(gòu):模塊game_functions 214
12.6 駕駛飛船 216
12.7 簡單回顧 223
12.8 射擊 224
12.9 小結(jié) 231
第13章 外星人 232
13.1 回顧項目 232
13.2 創(chuàng)建第一個外星人 233
13.3 創(chuàng)建一群外星人 236
13.4 讓外星人群移動 242
13.5 射殺外星人 246
13.6 結(jié)束游戲 250
13.7 確定應(yīng)運行游戲的哪些部分 255
13.8 小結(jié) 256
第14章 記分 257
14.1 添加Play按鈕 257
14.2 提高等級 264
14.3 記分 267
14.4 小結(jié) 283
項目2 數(shù)據(jù)可視化 284
第15章 生成數(shù)據(jù) 285
15.1 安裝matplotlib 285
15.2 繪制簡單的折線圖 287
15.3 隨機漫步 295
15.4 使用Pygal模擬擲骰子 303
15.5 小結(jié) 311
第16章 下載數(shù)據(jù) 312
16.1 CSV文件格式 312
16.2 制作交易收盤價走勢圖:JSON格式 324
16.3 小結(jié) 337
第17章 使用API 338
17.1 使用Web API 338
17.2 使用Pygal可視化倉庫 344
17.3 Hacker News API 350
17.4 小結(jié) 353
項目3 Web應(yīng)用程序 354
第18章 Django入門 355
18.1 建立項目 355
18.2 創(chuàng)建應(yīng)用程序 360
18.3 創(chuàng)建網(wǎng)頁:學(xué)習(xí)筆記主頁 369
18.4 創(chuàng)建其他網(wǎng)頁 373
18.5 小結(jié) 381
第19章 用戶賬戶 382
19.1 讓用戶能夠輸入數(shù)據(jù) 382
19.2 創(chuàng)建用戶賬戶 392
19.3 讓用戶擁有自己的數(shù)據(jù) 400
19.4 小結(jié) 408
第20章 設(shè)置應(yīng)用程序的樣式并對其進行部署 409
20.1 設(shè)置項目“學(xué)習(xí)筆記”的樣式 409
20.2 部署“學(xué)習(xí)筆記” 419
20.3 小結(jié) 435
附錄A 安裝Python 436
附錄B 文本編輯器 441
附錄C 尋求幫助 447
附錄D 使用Git進行版本控制 451
后記 460