Python編程:從入門(mén)到實(shí)踐

Python編程:從入門(mén)到實(shí)踐
分享
掃描下方二維碼分享到微信
打開(kāi)微信,點(diǎn)擊右上角”+“,
使用”掃一掃“即可將網(wǎng)頁(yè)分享到朋友圈。
作者: [美] (Eric Matthes) 著(zhù) ,
2016-07
版次: 1
ISBN: 9787115428028
定價(jià): 89.00
裝幀: 平裝
開(kāi)本: 16開(kāi)
紙張: 膠版紙
頁(yè)數: 459頁(yè)
正文語(yǔ)種: 簡(jiǎn)體中文
原版書(shū)名: Python Crash Course: A Hands-On, Project-Based Introduction to Programming
9424人買(mǎi)過(guò)
  • 本書(shū)是一本針對所有層次的Python讀者而作的Python入門(mén)書(shū)。全書(shū)分兩部分:首部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumPy和Pygal等強大的Python庫和工具介紹,以及列表、字典、if語(yǔ)句、類(lèi)、文件與異常、代碼測試等內容;第二部分將理論付諸實(shí)踐,講解如何開(kāi)發(fā)三個(gè)項目,包括簡(jiǎn)單的Python 2D游戲開(kāi)發(fā),如何利用數據生成交互式的信息圖,以及創(chuàng )建和定制簡(jiǎn)單的Web應用,并幫讀者解決常見(jiàn)編程問(wèn)題和困惑。 Eric Matthes

    高中科學(xué)和數學(xué)老師,現居住在阿拉斯加,在當地講授Python入門(mén)課程。他從5歲開(kāi)始就一直在編寫(xiě)程序。

    袁國忠

    自由譯者;2000年起專(zhuān)事翻譯,主譯圖書(shū),偶譯新聞稿、軟文;出版譯著(zhù)40余部,其中包括《C++ Prime Plus中文版》《CCNA學(xué)習指南》《CCNP ROUTE學(xué)習指南》《面向模式的軟件架構:模式系統》《Android應用UI設計模式》《風(fēng)投的選擇:誰(shuí)是下一個(gè)十億美元級公司》等,總計700余萬(wàn)字;專(zhuān)事翻譯前,從事過(guò)三年化工產(chǎn)品分析和開(kāi)發(fā),做過(guò)兩年雜志和圖書(shū)編輯。 第一部分 基礎知識
    第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 在不同操作系統中搭建Python編程環(huán)境 3
    1.2.1 在Linux系統中搭建Python編程環(huán)境 3
    1.2.2 在OS X系統中搭建Python編程環(huán)境 6
    1.2.3 在Windows系統中搭建Python編程環(huán)境 8
    1.3 解決安裝問(wèn)題 12
    1.4 從終端運行Python程序 13
    1.4.1 在Linux和OS X系統中從終端運行Python程序 13
    1.4.2 在Windows系統中從終端運行Python程序 13
    1.5 小結 14
    第2章 變量和簡(jiǎn)單數據類(lèi)型 15
    2.1 運行hello_world.py時(shí)發(fā)生的情況 15
    2.2 變量 16
    2.2.1 變量的命名和使用 16
    2.2.2 使用變量時(shí)避免命名錯誤 17
    2.3 字符串 18
    2.3.1 使用方法修改字符串的大小寫(xiě) 19
    2.3.2 合并(拼接)字符串 19
    2.3.3 使用制表符或換行符來(lái)添加空白 20
    2.3.4 刪除空白 21
    2.3.5 使用字符串時(shí)避免語(yǔ)法錯誤 22
    2.3.6 Python 2中的print語(yǔ)句 23
    2.4 數字 24
    2.4.1 整數 24
    2.4.2 浮點(diǎn)數 25
    2.4.3 使用函數str()避免類(lèi)型錯誤 25
    2.4.4 Python 2中的整數 26
    2.5 注釋 27
    2.5.1 如何編寫(xiě)注釋 27
    2.5.2 該編寫(xiě)什么樣的注釋 28
    2.6 Python之禪 28
    2.7 小結 30
    第3章 列表簡(jiǎn)介 31
    3.1 列表是什么 31
    3.1.1 訪(fǎng)問(wèn)列表元素 32
    3.1.2 索引從0而不是1開(kāi)始 32
    3.1.3 使用列表中的各個(gè)值 33
    3.2 修改、添加和刪除元素 33
    3.2.1 修改列表元素 34
    3.2.2 在列表中添加元素 34
    3.2.3 從列表中刪除元素 35
    3.3 組織列表 39
    3.3.1 使用方法sort()對列表進(jìn)行永久性排序 39
    3.3.2 使用函數sorted()對列表進(jìn)行臨時(shí)排序 40
    3.3.3 倒著(zhù)打印列表 41
    3.3.4 確定列表的長(cháng)度 41
    3.4 使用列表時(shí)避免索引錯誤 42
    3.5 小結 43
    第4章 操作列表 44
    4.1 遍歷整個(gè)列表 44
    4.1.1 深入地研究循環(huán) 45
    4.1.2 在for循環(huán)中執行更多的操作 46
    4.1.3 在for循環(huán)結束后執行一些操作 47
    4.2 避免縮進(jìn)錯誤 47
    4.2.1 忘記縮進(jìn) 48
    4.2.2 忘記縮進(jìn)額外的代碼行 48
    4.2.3 不必要的縮進(jìn) 49
    4.2.4 循環(huán)后不必要的縮進(jìn) 49
    4.2.5 遺漏了冒號 50
    4.3 創(chuàng )建數值列表 51
    4.3.1 使用函數range() 51
    4.3.2 使用range()創(chuàng )建數字列表 51
    4.3.3 對數字列表執行簡(jiǎn)單的統計計算 53
    4.3.4 列表解析 53
    4.4 使用列表的一部分 54
    4.4.1 切片 54
    4.4.2 遍歷切片 56
    4.4.3 復制列表 56
    4.5 元組 59
    4.5.1 定義元組 59
    4.5.2 遍歷元組中的所有值 59
    4.5.3 修改元組變量 60
    4.6 設置代碼格式 61
    4.6.1 格式設置指南 61
    4.6.2 縮進(jìn) 61
    4.6.3 行長(cháng) 61
    4.6.4 空行 62
    4.6.5 其他格式設置指南 62
    4.7 小結 63
    第5章 if語(yǔ)句 64
    5.1 一個(gè)簡(jiǎn)單示例 64
    5.2 條件測試 65
    5.2.1 檢查是否相等 65
    5.2.2 檢查是否相等時(shí)不考慮大小寫(xiě) 65
    5.2.3 檢查是否不相等 66
    5.2.4 比較數字 67
    5.2.5 檢查多個(gè)條件 67
    5.2.6 檢查特定值是否包含在列表中 69
    5.2.8 布爾表達式 69
    5.3 if語(yǔ)句 70
    5.3.1 簡(jiǎn)單的if語(yǔ)句 70
    5.3.2 if-else語(yǔ)句 71
    5.3.3 if-elif-else結構 72
    5.3.4 使用多個(gè)elif代碼塊 73
    5.3.5 省略else代碼塊 74
    5.3.6 測試多個(gè)條件 74
    5.4 使用if語(yǔ)句處理列表 76
    5.4.1 檢查特殊元素 77
    5.4.2 確定列表不是空的 78
    5.4.3 使用多個(gè)列表 78
    5.5 設置if語(yǔ)句的格式 80
    5.6 小結 80
    第6章 字典 81
    6.1 一個(gè)簡(jiǎn)單的字典 81
    6.2 使用字典 82
    6.2.1 訪(fǎng)問(wèn)字典中的值 82
    6.2.2 添加鍵—值對 83
    6.2.3 先創(chuàng )建一個(gè)空字典 83
    6.2.4 修改字典中的值 84
    6.2.5 刪除鍵—值對 85
    6.2.6 由類(lèi)似對象組成的字典 86
    6.3 遍歷字典 87
    6.3.1 遍歷所有的鍵—值對 87
    6.3.2 遍歷字典中的所有鍵 89
    6.3.3 按順序遍歷字典中的所有鍵 91
    6.3.4 遍歷字典中的所有值 91
    6.4 嵌套 93
    6.4.1 字典列表 93
    6.4.2 在字典中存儲列表 95
    6.4.3 在字典中存儲字典 97
    6.5 小結 99
    第7章 用戶(hù)輸入和while循環(huán) 100
    7.1 函數input()的工作原理 100
    7.1.1 編寫(xiě)清晰的程序 101
    7.1.2 使用int()來(lái)獲取數值輸入 102
    7.1.3 求模運算符 103
    7.1.4 在Python 2.7中獲取輸入 104
    7.2 while循環(huán)簡(jiǎn)介 104
    7.2.1 使用while循環(huán) 104
    7.2.2 讓用戶(hù)選擇何時(shí)退出 105
    7.2.3 使用標志 106
    7.2.4 使用break退出循環(huán) 107
    7.2.5 在循環(huán)中使用continue 108
    7.2.6 避免無(wú)限循環(huán) 109
    7.3 使用while循環(huán)來(lái)處理列表和字典 110
    7.3.1 在列表之間移動(dòng)元素 110
    7.3.2 刪除包含特定值的所有列表元素 111
    7.3.3 使用用戶(hù)輸入來(lái)填充字典 112
    7.4 小結 113
    第8章 函數 114
    8.1 定義函數 114
    8.1.1 向函數傳遞信息 115
    8.1.2 實(shí)參和形參 115
    8.2 傳遞實(shí)參 116
    8.2.1 位置實(shí)參 116
    8.2.2 關(guān)鍵字實(shí)參 118
    8.2.3 默認值 118
    8.2.4 等效的函數調用 119
    8.2.5 避免實(shí)參錯誤 120
    8.3 返回值 121
    8.3.1 返回簡(jiǎn)單值 121
    8.3.2 讓實(shí)參變成可選的 122
    8.3.3 返回字典 123
    8.3.4 結合使用函數和while循環(huán)....... 124
    8.4 傳遞列表 126
    8.4.1 在函數中修改列表 126
    8.4.2 禁止函數修改列表 129
    8.5 傳遞任意數量的實(shí)參 130
    8.5.1 結合使用位置實(shí)參和任意數量實(shí)參 131
    8.5.2 使用任意數量的關(guān)鍵字實(shí)參 131
    8.6 將函數存儲在模塊中 133
    8.6.1 導入整個(gè)模塊 133
    8.6.2 導入特定的函數 134
    8.6.3 使用as給函數指定別名 134
    8.6.4 使用as給模塊指定別名 135
    8.6.5 導入模塊中的所有函數 135
    8.7 函數編寫(xiě)指南 136
    8.8 小結 137
    第9章 類(lèi) 138
    9.1 創(chuàng )建和使用類(lèi) 138
    9.1.1 創(chuàng )建Dog類(lèi) 139
    9.1.2 根據類(lèi)創(chuàng )建實(shí)例 140
    9.2 使用類(lèi)和實(shí)例 142
    9.2.1 Car類(lèi) 143
    9.2.2 給屬性指定默認值 143
    9.2.3 修改屬性的值 144
    9.3 繼承 147
    9.3.1 子類(lèi)的方法__init__() 147
    9.3.2 Python 2.7中的繼承 149
    9.3.3 給子類(lèi)定義屬性和方法 149
    9.3.4 重寫(xiě)父類(lèi)的方法 150
    9.3.5 將實(shí)例用作屬性 150
    9.3.6 模擬實(shí)物 152
    9.4 導入類(lèi) 153
    9.4.1 導入單個(gè)類(lèi) 153
    9.4.2 在一個(gè)模塊中存儲多個(gè)類(lèi) 155
    9.4.3 從一個(gè)模塊中導入多個(gè)類(lèi) 156
    9.4.4 導入整個(gè)模塊 157
    9.4.5 導入模塊中的所有類(lèi) 157
    9.4.6 在一個(gè)模塊中導入另一個(gè)模塊 157
    9.4.7 自定義工作流程 158
    9.5 Python標準庫 159
    9.6 類(lèi)編碼風(fēng)格 161
    9.7 小結 161
    第10章 文件和異?!?62
    10.1 從文件中讀取數據 162
    10.1.1 讀取整個(gè)文件 162
    10.1.2 文件路徑 164
    10.1.3 逐行讀取 165
    10.1.4 創(chuàng )建一個(gè)包含文件各行內容的列表 166
    10.1.5 使用文件的內容 166
    10.1.6 包含一百萬(wàn)位的大型文件 168
    10.1.7 圓周率值中包含你的生日嗎 168
    10.2 寫(xiě)入文件 169
    10.2.1 寫(xiě)入空文件 170
    10.2.2 寫(xiě)入多行 170
    10.2.3 附加到文件 171
    10.3 異?!?72
    10.3.1 處理ZeroDivisionError異?!?72
    10.3.2 使用try-except代碼塊 173
    10.3.3 使用異常避免崩潰 173
    10.3.4 else代碼塊 174
    10.3.5 處理FileNotFoundError異?!?75
    10.3.6 分析文本 176
    10.3.7 使用多個(gè)文件 177
    10.3.8 失敗時(shí)一聲不吭 178
    10.3.9 決定報告哪些錯誤 179
    10.4 存儲數據 180
    10.4.1 使用json.dump()和json.load() 180
    10.4.2 保存和讀取用戶(hù)生成的數據 181
    10.4.3 重構 183
    10.5 小結 186
    第11章 測試代碼 187
    11.1 測試函數 187
    11.1.1 單元測試和測試用例 188
    11.1.2 可通過(guò)的測試 188
    11.1.3 不能通過(guò)的測試 190
    11.1.4 測試未通過(guò)時(shí)怎么辦 191
    11.1.5 添加新測試 191
    11.2 測試類(lèi) 193
    11.2.1 各種斷言方法 193
    11.2.2 一個(gè)要測試的類(lèi) 194
    11.2.3 測試AnonymousSurvey類(lèi) 195
    11.2.4 方法setUp() 197
    11.3 小結 199
    第二部分 項目
    項目1 外星人入侵 202
    第12章 武裝飛船 203
    12.1 規劃項目 203
    12.2 安裝Pygame 204
    12.2.1 使用pip安裝Python包 204
    12.2.2 在Linux系統中安裝Pygame 206
    12.2.3 在OS X系統中安裝Pygame 207
    12.2.4 在Windows系統中安裝Pygame 207
    12.3 開(kāi)始游戲項目 207
    12.3.1 創(chuàng )建Pygame窗口以及響應用戶(hù)輸入 208
    12.3.2 設置背景色 209
    12.3.3 創(chuàng )建設置類(lèi) 210
    12.4 添加飛船圖像 211
    12.4.1 創(chuàng )建Ship類(lèi) 212
    12.4.2 在屏幕上繪制飛船 213
    12.5 重構:模塊game_functions 214
    12.5.1 函數check_events() 214
    12.5.2 函數update_screen() 215
    12.6 駕駛飛船 216
    12.6.1 響應按鍵 216
    12.6.2 允許不斷移動(dòng) 217
    12.6.3 左右移動(dòng) 219
    12.6.4 調整飛船的速度 220
    12.6.5 限制飛船的活動(dòng)范圍 221
    12.6.6 重構check_events() 222
    12.7 簡(jiǎn)單回顧 223
    12.7.1 alien_invasion.py 223
    12.7.2 settings.py 223
    12.7.3 game_functions.py 223
    12.7.4 ship.py 223
    12.8 射擊 224
    12.8.1 添加子彈設置 224
    12.8.2 創(chuàng )建Bullet類(lèi) 224
    12.8.3 將子彈存儲到編組中 226
    12.8.4 開(kāi)火 227
    12.8.5 刪除已消失的子彈 228
    12.8.6 限制子彈數量 229
    12.8.7 創(chuàng )建函數update_bullets() 230
    12.9 小結 231
    第13章 外星人 232
    13.1 回顧項目 232
    13.2 創(chuàng )建第一個(gè)外星人 233
    13.2.1 創(chuàng )建Alien類(lèi) 233
    13.2.2 創(chuàng )建Alien實(shí)例 234
    13.2.3 讓外星人出現在屏幕上 235
    13.3 創(chuàng )建一群外星人 236
    13.3.1 確定一行可容納多少個(gè)外星人 236
    13.3.2 創(chuàng )建多行外星人 236
    13.3.3 創(chuàng )建外星人群 237
    13.3.4 重構create_fleet() 239
    13.3.5 添加行 240
    13.4 讓外星人群移動(dòng) 242
    13.4.1 向右移動(dòng)外星人 243
    13.4.2 創(chuàng )建表示外星人移動(dòng)方向的設置 244
    13.4.3 檢查外星人是否撞到了屏幕邊緣 244
    13.4.4 向下移動(dòng)外星人群并改變移動(dòng)方向 245
    13.5 射殺外星人 246
    13.5.1 檢測子彈與外星人的碰撞 246
    13.5.2 為測試創(chuàng )建大子彈 247
    13.5.3 生成新的外星人群 248
    13.5.4 提高子彈的速度 249
    13.5.5 重構update_bullets() 249
    13.6 結束游戲 250
    13.6.1 檢測外星人和飛船碰撞 250
    13.6.2 響應外星人和飛船碰撞 251
    13.6.3 有外星人到達屏幕底端 254
    13.6.4 游戲結束 255
    13.7 確定應運行游戲的哪些部分 255
    13.8 小結 256
    第14章 記分 257
    14.1 添加Play按鈕 257
    14.1.1 創(chuàng )建Button類(lèi) 258
    14.1.2 在屏幕上繪制按鈕 259
    14.1.3 開(kāi)始游戲 261
    14.1.4 重置游戲 261
    14.1.5 將Play按鈕切換到非活動(dòng)狀態(tài) 263
    14.1.6 隱藏光標 263
    14.2 提高等級 264
    14.2.1 修改速度設置 264
    14.2.2 重置速度 266
    14.3 記分 267
    14.3.1 顯示得分 267
    14.3.2 創(chuàng )建記分牌 268
    14.3.3 在外星人被消滅時(shí)更新得分 270
    14.3.4 將消滅的每個(gè)外星人的點(diǎn)數都計入得分 271
    14.3.5 提高點(diǎn)數 271
    14.3.6 將得分圓整 272
    14.3.7 最高得分 274
    14.3.8 顯示等級 276
    14.3.9 顯示余下的飛船數 279
    14.4 小結 283
    項目2 數據可視化 284
    第15章 生成數據 285
    15.1 安裝matplotlib 285
    15.1.1 在Linux系統中安裝matplotlib 286
    15.1.2 在OS X系統中安裝matplotlib 286
    15.1.3 在Windows系統中安裝matplotlib 286
    15.1.4 測試matplotlib 287
    15.1.5 matplotlib畫(huà)廊 287
    15.2 繪制簡(jiǎn)單的折線(xiàn)圖 287
    15.2.1 修改標簽文字和線(xiàn)條粗細 288
    15.2.2 校正圖形 289
    15.2.3 使用scatter()繪制散點(diǎn)圖并設置其樣式 290
    15.2.4 使用scatter()繪制一系列點(diǎn) 291
    15.2.5 自動(dòng)計算數據 292
    15.2.6 刪除數據點(diǎn)的輪廓 293
    15.2.7 自定義顏色 293
    15.2.8 使用顏色映射 294
    15.2.9 自動(dòng)保存圖表 295
    15.3 隨機漫步 295
    15.3.1 創(chuàng )建RandomWalk()類(lèi) 296
    15.3.2 選擇方向 296
    15.3.3 繪制隨機漫步圖 297
    15.3.4 模擬多次隨機漫步 298
    15.3.5 設置隨機漫步圖的樣式 299
    15.3.6 給點(diǎn)著(zhù)色 299
    15.3.7 重新繪制起點(diǎn)和終點(diǎn) 300
    15.3.8 隱藏坐標軸 301
    15.3.9 增加點(diǎn)數 301
    15.3.10 調整尺寸以適合屏幕 302
    15.4 使用Pygal模擬擲骰子 303
    15.4.1 安裝Pygal 304
    15.4.2 Pygal畫(huà)廊 304
    15.4.3 創(chuàng )建Die類(lèi) 304
    15.4.4 擲骰子 305
    15.4.5 分析結果 305
    15.4.6 繪制直方圖 306
    15.4.7 同時(shí)擲兩個(gè)骰子 307
    15.4.8 同時(shí)擲兩個(gè)面數不同的骰子 309
    15.5 小結 311
    第16章 下載數據 312
    16.1 CSV文件格式 312
    16.1.1 分析CSV文件頭 313
    16.1.2 打印文件頭及其位置 314
    16.1.3 提取并讀取數據 314
    16.1.4 繪制氣溫圖表 315
    16.1.5 模塊datetime 316
    16.1.6 在圖表中添加日期 317
    16.1.7 涵蓋更長(cháng)的時(shí)間 318
    16.1.8 再繪制一個(gè)數據系列 319
    16.1.9 給圖表區域著(zhù)色 320
    16.1.10 錯誤檢查 321
    16.2 制作世界人口地圖:JSON格式 324
    16.2.1 下載世界人口數據 324
    16.2.2 提取相關(guān)的數據 324
    16.2.3 將字符串轉換為數字值 326
    16.2.4 獲取兩個(gè)字母的國別碼 327
    16.2.5 制作世界地圖 329
    16.2.6 在世界地圖上呈現數字數據 330
    16.2.7 繪制完整的世界人口地圖 331
    16.2.8 根據人口數量將國家分組 333
    16.2.9 使用Pygal設置世界地圖的樣式 334
    16.2.10 加亮顏色主題 335
    16.3 小結 337
    第17章 使用API 338
    17.1 使用Web API 338
    17.1.1 Git和GitHub 338
    17.1.2 使用API調用請求數據 339
    17.1.3 安裝requests 339
    17.1.4 處理API響應 340
    17.1.5 處理響應字典 340
    17.1.6 概述最受歡迎的倉庫 342
    17.1.7 監視API的速率限制 343
    17.2 使用Pygal可視化倉庫 344
    17.2.1 改進(jìn)Pygal圖表 346
    17.2.2 添加自定義工具提示 347
    17.2.3 根據數據繪圖 349
    17.2.4 在圖表中添加可單擊的鏈接 350
    17.3 Hacker News API 350
    17.4 小結 353
    項目3 Web應用程序 354
    第18章 Django入門(mén) 355
    18.1 建立項目 355
    18.1.1 制定規范 355
    18.1.2 建立虛擬環(huán)境 356
    18.1.3 安裝virtualenv 356
    18.1.4 激活虛擬環(huán)境 357
    18.1.5 安裝Django 357
    18.1.6 在Django中創(chuàng )建項目 357
    18.1.7 創(chuàng )建數據庫 358
    18.1.8 查看項目 359
    18.2 創(chuàng )建應用程序 360
    18.2.1 定義模型 360
    18.2.2 激活模型 362
    18.2.3 Django 管理網(wǎng)站 363
    18.2.4 定義模型Entry 365
    18.2.5 遷移模型Entry 366
    18.2.6 向管理網(wǎng)站注冊Entry 366
    18.2.7 Django shell 367
    18.3 創(chuàng )建網(wǎng)頁(yè):學(xué)習筆記主頁(yè) 369
    18.3.1 映射URL 369
    18.3.2 編寫(xiě)視圖 371
    18.3.3 編寫(xiě)模板 372
    18.4 創(chuàng )建其他網(wǎng)頁(yè) 373
    18.4.1 模板繼承 373
    18.4.2 顯示所有主題的頁(yè)面 375
    18.4.3 顯示特定主題的頁(yè)面 378
    18.5 小結 381
    第19章 用戶(hù)賬戶(hù) 382
    19.1 讓用戶(hù)能夠輸入數據 382
    19.1.1 添加新主題 382
    19.1.2 添加新條目 386
    19.1.3 編輯條目 390
    19.2 創(chuàng )建用戶(hù)賬戶(hù) 392
    19.2.1 應用程序users 393
    19.2.2 登錄頁(yè)面 394
    19.2.3 注銷(xiāo) 396
    19.2.4 注冊頁(yè)面 397
    19.3 讓用戶(hù)擁有自己的數據 400
    19.3.1 使用@login_required限制訪(fǎng)問(wèn) 400
    19.3.2 將數據關(guān)聯(lián)到用戶(hù) 402
    19.3.3 只允許用戶(hù)訪(fǎng)問(wèn)自己的主題 405
    19.3.4 保護用戶(hù)的主題 405
    19.3.5 保護頁(yè)面edit_entry 406
    19.3.6 將新主題關(guān)聯(lián)到當前用戶(hù) 406
    19.4 小結 408
    第20章 設置應用程序的樣式并對其進(jìn)行部署 409
    20.1 設置項目“學(xué)習筆記”的樣式 409
    20.1.1 應用程序django-bootstrap3 410
    20.1.2 使用Bootstrap來(lái)設置項目“學(xué)習筆記”的樣式 411
    20.1.3 修改base.html 411
    20.1.4 使用jumbotron設置主頁(yè)的樣式 414
    20.1.5 設置登錄頁(yè)面的樣式 415
    20.1.6 設置new_topic頁(yè)面的樣式 416
    20.1.7 設置topics頁(yè)面的樣式 417
    20.1.8 設置topic頁(yè)面中條目的樣式 417
    20.2 部署“學(xué)習筆記” 419
    20.2.1 建立Heroku賬戶(hù) 420
    20.2.2 安裝Heroku Toolbelt 420
    20.2.3 安裝必要的包 420
    20.2.4 創(chuàng )建包含包列表的文件requirements.txt 421
    20.2.5 指定Python版本 422
    20.2.6 為部署到Herohu而修改settings.py 422
    20.2.7 創(chuàng )建啟動(dòng)進(jìn)程的Procfile 423
    20.2.8 為部署到Herohu而修改wsgi.py 423
    20.2.9 創(chuàng )建用于存儲靜態(tài)文件的目錄 424
    20.2.10 在本地使用gunicorn服務(wù)器 424
    20.2.11 使用Git跟蹤項目文件 425
    20.2.12 推送到Heroku 426
    20.2.13 在Heroku上建立數據庫 427
    20.2.14 改進(jìn)Heroku部署 428
    20.2.15 確保項目的安全 429
    20.2.16 提交并推送修改 430
    20.2.17 創(chuàng )建自定義錯誤頁(yè)面 431
    20.2.18 繼續開(kāi)發(fā) 434
    20.2.19 設置SECRET_KEY 434
    20.2.20 將項目從Heroku刪除 434
    20.3 小結 435
    附錄A 安裝Python 436
    附錄B 文本編輯器 441
    附錄C 尋求幫助 447
    附錄D 使用Git進(jìn)行版本控制 451
    后記 460
  • 內容簡(jiǎn)介:
    本書(shū)是一本針對所有層次的Python讀者而作的Python入門(mén)書(shū)。全書(shū)分兩部分:首部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumPy和Pygal等強大的Python庫和工具介紹,以及列表、字典、if語(yǔ)句、類(lèi)、文件與異常、代碼測試等內容;第二部分將理論付諸實(shí)踐,講解如何開(kāi)發(fā)三個(gè)項目,包括簡(jiǎn)單的Python 2D游戲開(kāi)發(fā),如何利用數據生成交互式的信息圖,以及創(chuàng )建和定制簡(jiǎn)單的Web應用,并幫讀者解決常見(jiàn)編程問(wèn)題和困惑。
  • 作者簡(jiǎn)介:
    Eric Matthes

    高中科學(xué)和數學(xué)老師,現居住在阿拉斯加,在當地講授Python入門(mén)課程。他從5歲開(kāi)始就一直在編寫(xiě)程序。

    袁國忠

    自由譯者;2000年起專(zhuān)事翻譯,主譯圖書(shū),偶譯新聞稿、軟文;出版譯著(zhù)40余部,其中包括《C++ Prime Plus中文版》《CCNA學(xué)習指南》《CCNP ROUTE學(xué)習指南》《面向模式的軟件架構:模式系統》《Android應用UI設計模式》《風(fēng)投的選擇:誰(shuí)是下一個(gè)十億美元級公司》等,總計700余萬(wàn)字;專(zhuān)事翻譯前,從事過(guò)三年化工產(chǎn)品分析和開(kāi)發(fā),做過(guò)兩年雜志和圖書(shū)編輯。
  • 目錄:
    第一部分 基礎知識
    第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 在不同操作系統中搭建Python編程環(huán)境 3
    1.2.1 在Linux系統中搭建Python編程環(huán)境 3
    1.2.2 在OS X系統中搭建Python編程環(huán)境 6
    1.2.3 在Windows系統中搭建Python編程環(huán)境 8
    1.3 解決安裝問(wèn)題 12
    1.4 從終端運行Python程序 13
    1.4.1 在Linux和OS X系統中從終端運行Python程序 13
    1.4.2 在Windows系統中從終端運行Python程序 13
    1.5 小結 14
    第2章 變量和簡(jiǎn)單數據類(lèi)型 15
    2.1 運行hello_world.py時(shí)發(fā)生的情況 15
    2.2 變量 16
    2.2.1 變量的命名和使用 16
    2.2.2 使用變量時(shí)避免命名錯誤 17
    2.3 字符串 18
    2.3.1 使用方法修改字符串的大小寫(xiě) 19
    2.3.2 合并(拼接)字符串 19
    2.3.3 使用制表符或換行符來(lái)添加空白 20
    2.3.4 刪除空白 21
    2.3.5 使用字符串時(shí)避免語(yǔ)法錯誤 22
    2.3.6 Python 2中的print語(yǔ)句 23
    2.4 數字 24
    2.4.1 整數 24
    2.4.2 浮點(diǎn)數 25
    2.4.3 使用函數str()避免類(lèi)型錯誤 25
    2.4.4 Python 2中的整數 26
    2.5 注釋 27
    2.5.1 如何編寫(xiě)注釋 27
    2.5.2 該編寫(xiě)什么樣的注釋 28
    2.6 Python之禪 28
    2.7 小結 30
    第3章 列表簡(jiǎn)介 31
    3.1 列表是什么 31
    3.1.1 訪(fǎng)問(wèn)列表元素 32
    3.1.2 索引從0而不是1開(kāi)始 32
    3.1.3 使用列表中的各個(gè)值 33
    3.2 修改、添加和刪除元素 33
    3.2.1 修改列表元素 34
    3.2.2 在列表中添加元素 34
    3.2.3 從列表中刪除元素 35
    3.3 組織列表 39
    3.3.1 使用方法sort()對列表進(jìn)行永久性排序 39
    3.3.2 使用函數sorted()對列表進(jìn)行臨時(shí)排序 40
    3.3.3 倒著(zhù)打印列表 41
    3.3.4 確定列表的長(cháng)度 41
    3.4 使用列表時(shí)避免索引錯誤 42
    3.5 小結 43
    第4章 操作列表 44
    4.1 遍歷整個(gè)列表 44
    4.1.1 深入地研究循環(huán) 45
    4.1.2 在for循環(huán)中執行更多的操作 46
    4.1.3 在for循環(huán)結束后執行一些操作 47
    4.2 避免縮進(jìn)錯誤 47
    4.2.1 忘記縮進(jìn) 48
    4.2.2 忘記縮進(jìn)額外的代碼行 48
    4.2.3 不必要的縮進(jìn) 49
    4.2.4 循環(huán)后不必要的縮進(jìn) 49
    4.2.5 遺漏了冒號 50
    4.3 創(chuàng )建數值列表 51
    4.3.1 使用函數range() 51
    4.3.2 使用range()創(chuàng )建數字列表 51
    4.3.3 對數字列表執行簡(jiǎn)單的統計計算 53
    4.3.4 列表解析 53
    4.4 使用列表的一部分 54
    4.4.1 切片 54
    4.4.2 遍歷切片 56
    4.4.3 復制列表 56
    4.5 元組 59
    4.5.1 定義元組 59
    4.5.2 遍歷元組中的所有值 59
    4.5.3 修改元組變量 60
    4.6 設置代碼格式 61
    4.6.1 格式設置指南 61
    4.6.2 縮進(jìn) 61
    4.6.3 行長(cháng) 61
    4.6.4 空行 62
    4.6.5 其他格式設置指南 62
    4.7 小結 63
    第5章 if語(yǔ)句 64
    5.1 一個(gè)簡(jiǎn)單示例 64
    5.2 條件測試 65
    5.2.1 檢查是否相等 65
    5.2.2 檢查是否相等時(shí)不考慮大小寫(xiě) 65
    5.2.3 檢查是否不相等 66
    5.2.4 比較數字 67
    5.2.5 檢查多個(gè)條件 67
    5.2.6 檢查特定值是否包含在列表中 69
    5.2.8 布爾表達式 69
    5.3 if語(yǔ)句 70
    5.3.1 簡(jiǎn)單的if語(yǔ)句 70
    5.3.2 if-else語(yǔ)句 71
    5.3.3 if-elif-else結構 72
    5.3.4 使用多個(gè)elif代碼塊 73
    5.3.5 省略else代碼塊 74
    5.3.6 測試多個(gè)條件 74
    5.4 使用if語(yǔ)句處理列表 76
    5.4.1 檢查特殊元素 77
    5.4.2 確定列表不是空的 78
    5.4.3 使用多個(gè)列表 78
    5.5 設置if語(yǔ)句的格式 80
    5.6 小結 80
    第6章 字典 81
    6.1 一個(gè)簡(jiǎn)單的字典 81
    6.2 使用字典 82
    6.2.1 訪(fǎng)問(wèn)字典中的值 82
    6.2.2 添加鍵—值對 83
    6.2.3 先創(chuàng )建一個(gè)空字典 83
    6.2.4 修改字典中的值 84
    6.2.5 刪除鍵—值對 85
    6.2.6 由類(lèi)似對象組成的字典 86
    6.3 遍歷字典 87
    6.3.1 遍歷所有的鍵—值對 87
    6.3.2 遍歷字典中的所有鍵 89
    6.3.3 按順序遍歷字典中的所有鍵 91
    6.3.4 遍歷字典中的所有值 91
    6.4 嵌套 93
    6.4.1 字典列表 93
    6.4.2 在字典中存儲列表 95
    6.4.3 在字典中存儲字典 97
    6.5 小結 99
    第7章 用戶(hù)輸入和while循環(huán) 100
    7.1 函數input()的工作原理 100
    7.1.1 編寫(xiě)清晰的程序 101
    7.1.2 使用int()來(lái)獲取數值輸入 102
    7.1.3 求模運算符 103
    7.1.4 在Python 2.7中獲取輸入 104
    7.2 while循環(huán)簡(jiǎn)介 104
    7.2.1 使用while循環(huán) 104
    7.2.2 讓用戶(hù)選擇何時(shí)退出 105
    7.2.3 使用標志 106
    7.2.4 使用break退出循環(huán) 107
    7.2.5 在循環(huán)中使用continue 108
    7.2.6 避免無(wú)限循環(huán) 109
    7.3 使用while循環(huán)來(lái)處理列表和字典 110
    7.3.1 在列表之間移動(dòng)元素 110
    7.3.2 刪除包含特定值的所有列表元素 111
    7.3.3 使用用戶(hù)輸入來(lái)填充字典 112
    7.4 小結 113
    第8章 函數 114
    8.1 定義函數 114
    8.1.1 向函數傳遞信息 115
    8.1.2 實(shí)參和形參 115
    8.2 傳遞實(shí)參 116
    8.2.1 位置實(shí)參 116
    8.2.2 關(guān)鍵字實(shí)參 118
    8.2.3 默認值 118
    8.2.4 等效的函數調用 119
    8.2.5 避免實(shí)參錯誤 120
    8.3 返回值 121
    8.3.1 返回簡(jiǎn)單值 121
    8.3.2 讓實(shí)參變成可選的 122
    8.3.3 返回字典 123
    8.3.4 結合使用函數和while循環(huán)....... 124
    8.4 傳遞列表 126
    8.4.1 在函數中修改列表 126
    8.4.2 禁止函數修改列表 129
    8.5 傳遞任意數量的實(shí)參 130
    8.5.1 結合使用位置實(shí)參和任意數量實(shí)參 131
    8.5.2 使用任意數量的關(guān)鍵字實(shí)參 131
    8.6 將函數存儲在模塊中 133
    8.6.1 導入整個(gè)模塊 133
    8.6.2 導入特定的函數 134
    8.6.3 使用as給函數指定別名 134
    8.6.4 使用as給模塊指定別名 135
    8.6.5 導入模塊中的所有函數 135
    8.7 函數編寫(xiě)指南 136
    8.8 小結 137
    第9章 類(lèi) 138
    9.1 創(chuàng )建和使用類(lèi) 138
    9.1.1 創(chuàng )建Dog類(lèi) 139
    9.1.2 根據類(lèi)創(chuàng )建實(shí)例 140
    9.2 使用類(lèi)和實(shí)例 142
    9.2.1 Car類(lèi) 143
    9.2.2 給屬性指定默認值 143
    9.2.3 修改屬性的值 144
    9.3 繼承 147
    9.3.1 子類(lèi)的方法__init__() 147
    9.3.2 Python 2.7中的繼承 149
    9.3.3 給子類(lèi)定義屬性和方法 149
    9.3.4 重寫(xiě)父類(lèi)的方法 150
    9.3.5 將實(shí)例用作屬性 150
    9.3.6 模擬實(shí)物 152
    9.4 導入類(lèi) 153
    9.4.1 導入單個(gè)類(lèi) 153
    9.4.2 在一個(gè)模塊中存儲多個(gè)類(lèi) 155
    9.4.3 從一個(gè)模塊中導入多個(gè)類(lèi) 156
    9.4.4 導入整個(gè)模塊 157
    9.4.5 導入模塊中的所有類(lèi) 157
    9.4.6 在一個(gè)模塊中導入另一個(gè)模塊 157
    9.4.7 自定義工作流程 158
    9.5 Python標準庫 159
    9.6 類(lèi)編碼風(fēng)格 161
    9.7 小結 161
    第10章 文件和異?!?62
    10.1 從文件中讀取數據 162
    10.1.1 讀取整個(gè)文件 162
    10.1.2 文件路徑 164
    10.1.3 逐行讀取 165
    10.1.4 創(chuàng )建一個(gè)包含文件各行內容的列表 166
    10.1.5 使用文件的內容 166
    10.1.6 包含一百萬(wàn)位的大型文件 168
    10.1.7 圓周率值中包含你的生日嗎 168
    10.2 寫(xiě)入文件 169
    10.2.1 寫(xiě)入空文件 170
    10.2.2 寫(xiě)入多行 170
    10.2.3 附加到文件 171
    10.3 異?!?72
    10.3.1 處理ZeroDivisionError異?!?72
    10.3.2 使用try-except代碼塊 173
    10.3.3 使用異常避免崩潰 173
    10.3.4 else代碼塊 174
    10.3.5 處理FileNotFoundError異?!?75
    10.3.6 分析文本 176
    10.3.7 使用多個(gè)文件 177
    10.3.8 失敗時(shí)一聲不吭 178
    10.3.9 決定報告哪些錯誤 179
    10.4 存儲數據 180
    10.4.1 使用json.dump()和json.load() 180
    10.4.2 保存和讀取用戶(hù)生成的數據 181
    10.4.3 重構 183
    10.5 小結 186
    第11章 測試代碼 187
    11.1 測試函數 187
    11.1.1 單元測試和測試用例 188
    11.1.2 可通過(guò)的測試 188
    11.1.3 不能通過(guò)的測試 190
    11.1.4 測試未通過(guò)時(shí)怎么辦 191
    11.1.5 添加新測試 191
    11.2 測試類(lèi) 193
    11.2.1 各種斷言方法 193
    11.2.2 一個(gè)要測試的類(lèi) 194
    11.2.3 測試AnonymousSurvey類(lèi) 195
    11.2.4 方法setUp() 197
    11.3 小結 199
    第二部分 項目
    項目1 外星人入侵 202
    第12章 武裝飛船 203
    12.1 規劃項目 203
    12.2 安裝Pygame 204
    12.2.1 使用pip安裝Python包 204
    12.2.2 在Linux系統中安裝Pygame 206
    12.2.3 在OS X系統中安裝Pygame 207
    12.2.4 在Windows系統中安裝Pygame 207
    12.3 開(kāi)始游戲項目 207
    12.3.1 創(chuàng )建Pygame窗口以及響應用戶(hù)輸入 208
    12.3.2 設置背景色 209
    12.3.3 創(chuàng )建設置類(lèi) 210
    12.4 添加飛船圖像 211
    12.4.1 創(chuàng )建Ship類(lèi) 212
    12.4.2 在屏幕上繪制飛船 213
    12.5 重構:模塊game_functions 214
    12.5.1 函數check_events() 214
    12.5.2 函數update_screen() 215
    12.6 駕駛飛船 216
    12.6.1 響應按鍵 216
    12.6.2 允許不斷移動(dòng) 217
    12.6.3 左右移動(dòng) 219
    12.6.4 調整飛船的速度 220
    12.6.5 限制飛船的活動(dòng)范圍 221
    12.6.6 重構check_events() 222
    12.7 簡(jiǎn)單回顧 223
    12.7.1 alien_invasion.py 223
    12.7.2 settings.py 223
    12.7.3 game_functions.py 223
    12.7.4 ship.py 223
    12.8 射擊 224
    12.8.1 添加子彈設置 224
    12.8.2 創(chuàng )建Bullet類(lèi) 224
    12.8.3 將子彈存儲到編組中 226
    12.8.4 開(kāi)火 227
    12.8.5 刪除已消失的子彈 228
    12.8.6 限制子彈數量 229
    12.8.7 創(chuàng )建函數update_bullets() 230
    12.9 小結 231
    第13章 外星人 232
    13.1 回顧項目 232
    13.2 創(chuàng )建第一個(gè)外星人 233
    13.2.1 創(chuàng )建Alien類(lèi) 233
    13.2.2 創(chuàng )建Alien實(shí)例 234
    13.2.3 讓外星人出現在屏幕上 235
    13.3 創(chuàng )建一群外星人 236
    13.3.1 確定一行可容納多少個(gè)外星人 236
    13.3.2 創(chuàng )建多行外星人 236
    13.3.3 創(chuàng )建外星人群 237
    13.3.4 重構create_fleet() 239
    13.3.5 添加行 240
    13.4 讓外星人群移動(dòng) 242
    13.4.1 向右移動(dòng)外星人 243
    13.4.2 創(chuàng )建表示外星人移動(dòng)方向的設置 244
    13.4.3 檢查外星人是否撞到了屏幕邊緣 244
    13.4.4 向下移動(dòng)外星人群并改變移動(dòng)方向 245
    13.5 射殺外星人 246
    13.5.1 檢測子彈與外星人的碰撞 246
    13.5.2 為測試創(chuàng )建大子彈 247
    13.5.3 生成新的外星人群 248
    13.5.4 提高子彈的速度 249
    13.5.5 重構update_bullets() 249
    13.6 結束游戲 250
    13.6.1 檢測外星人和飛船碰撞 250
    13.6.2 響應外星人和飛船碰撞 251
    13.6.3 有外星人到達屏幕底端 254
    13.6.4 游戲結束 255
    13.7 確定應運行游戲的哪些部分 255
    13.8 小結 256
    第14章 記分 257
    14.1 添加Play按鈕 257
    14.1.1 創(chuàng )建Button類(lèi) 258
    14.1.2 在屏幕上繪制按鈕 259
    14.1.3 開(kāi)始游戲 261
    14.1.4 重置游戲 261
    14.1.5 將Play按鈕切換到非活動(dòng)狀態(tài) 263
    14.1.6 隱藏光標 263
    14.2 提高等級 264
    14.2.1 修改速度設置 264
    14.2.2 重置速度 266
    14.3 記分 267
    14.3.1 顯示得分 267
    14.3.2 創(chuàng )建記分牌 268
    14.3.3 在外星人被消滅時(shí)更新得分 270
    14.3.4 將消滅的每個(gè)外星人的點(diǎn)數都計入得分 271
    14.3.5 提高點(diǎn)數 271
    14.3.6 將得分圓整 272
    14.3.7 最高得分 274
    14.3.8 顯示等級 276
    14.3.9 顯示余下的飛船數 279
    14.4 小結 283
    項目2 數據可視化 284
    第15章 生成數據 285
    15.1 安裝matplotlib 285
    15.1.1 在Linux系統中安裝matplotlib 286
    15.1.2 在OS X系統中安裝matplotlib 286
    15.1.3 在Windows系統中安裝matplotlib 286
    15.1.4 測試matplotlib 287
    15.1.5 matplotlib畫(huà)廊 287
    15.2 繪制簡(jiǎn)單的折線(xiàn)圖 287
    15.2.1 修改標簽文字和線(xiàn)條粗細 288
    15.2.2 校正圖形 289
    15.2.3 使用scatter()繪制散點(diǎn)圖并設置其樣式 290
    15.2.4 使用scatter()繪制一系列點(diǎn) 291
    15.2.5 自動(dòng)計算數據 292
    15.2.6 刪除數據點(diǎn)的輪廓 293
    15.2.7 自定義顏色 293
    15.2.8 使用顏色映射 294
    15.2.9 自動(dòng)保存圖表 295
    15.3 隨機漫步 295
    15.3.1 創(chuàng )建RandomWalk()類(lèi) 296
    15.3.2 選擇方向 296
    15.3.3 繪制隨機漫步圖 297
    15.3.4 模擬多次隨機漫步 298
    15.3.5 設置隨機漫步圖的樣式 299
    15.3.6 給點(diǎn)著(zhù)色 299
    15.3.7 重新繪制起點(diǎn)和終點(diǎn) 300
    15.3.8 隱藏坐標軸 301
    15.3.9 增加點(diǎn)數 301
    15.3.10 調整尺寸以適合屏幕 302
    15.4 使用Pygal模擬擲骰子 303
    15.4.1 安裝Pygal 304
    15.4.2 Pygal畫(huà)廊 304
    15.4.3 創(chuàng )建Die類(lèi) 304
    15.4.4 擲骰子 305
    15.4.5 分析結果 305
    15.4.6 繪制直方圖 306
    15.4.7 同時(shí)擲兩個(gè)骰子 307
    15.4.8 同時(shí)擲兩個(gè)面數不同的骰子 309
    15.5 小結 311
    第16章 下載數據 312
    16.1 CSV文件格式 312
    16.1.1 分析CSV文件頭 313
    16.1.2 打印文件頭及其位置 314
    16.1.3 提取并讀取數據 314
    16.1.4 繪制氣溫圖表 315
    16.1.5 模塊datetime 316
    16.1.6 在圖表中添加日期 317
    16.1.7 涵蓋更長(cháng)的時(shí)間 318
    16.1.8 再繪制一個(gè)數據系列 319
    16.1.9 給圖表區域著(zhù)色 320
    16.1.10 錯誤檢查 321
    16.2 制作世界人口地圖:JSON格式 324
    16.2.1 下載世界人口數據 324
    16.2.2 提取相關(guān)的數據 324
    16.2.3 將字符串轉換為數字值 326
    16.2.4 獲取兩個(gè)字母的國別碼 327
    16.2.5 制作世界地圖 329
    16.2.6 在世界地圖上呈現數字數據 330
    16.2.7 繪制完整的世界人口地圖 331
    16.2.8 根據人口數量將國家分組 333
    16.2.9 使用Pygal設置世界地圖的樣式 334
    16.2.10 加亮顏色主題 335
    16.3 小結 337
    第17章 使用API 338
    17.1 使用Web API 338
    17.1.1 Git和GitHub 338
    17.1.2 使用API調用請求數據 339
    17.1.3 安裝requests 339
    17.1.4 處理API響應 340
    17.1.5 處理響應字典 340
    17.1.6 概述最受歡迎的倉庫 342
    17.1.7 監視API的速率限制 343
    17.2 使用Pygal可視化倉庫 344
    17.2.1 改進(jìn)Pygal圖表 346
    17.2.2 添加自定義工具提示 347
    17.2.3 根據數據繪圖 349
    17.2.4 在圖表中添加可單擊的鏈接 350
    17.3 Hacker News API 350
    17.4 小結 353
    項目3 Web應用程序 354
    第18章 Django入門(mén) 355
    18.1 建立項目 355
    18.1.1 制定規范 355
    18.1.2 建立虛擬環(huán)境 356
    18.1.3 安裝virtualenv 356
    18.1.4 激活虛擬環(huán)境 357
    18.1.5 安裝Django 357
    18.1.6 在Django中創(chuàng )建項目 357
    18.1.7 創(chuàng )建數據庫 358
    18.1.8 查看項目 359
    18.2 創(chuàng )建應用程序 360
    18.2.1 定義模型 360
    18.2.2 激活模型 362
    18.2.3 Django 管理網(wǎng)站 363
    18.2.4 定義模型Entry 365
    18.2.5 遷移模型Entry 366
    18.2.6 向管理網(wǎng)站注冊Entry 366
    18.2.7 Django shell 367
    18.3 創(chuàng )建網(wǎng)頁(yè):學(xué)習筆記主頁(yè) 369
    18.3.1 映射URL 369
    18.3.2 編寫(xiě)視圖 371
    18.3.3 編寫(xiě)模板 372
    18.4 創(chuàng )建其他網(wǎng)頁(yè) 373
    18.4.1 模板繼承 373
    18.4.2 顯示所有主題的頁(yè)面 375
    18.4.3 顯示特定主題的頁(yè)面 378
    18.5 小結 381
    第19章 用戶(hù)賬戶(hù) 382
    19.1 讓用戶(hù)能夠輸入數據 382
    19.1.1 添加新主題 382
    19.1.2 添加新條目 386
    19.1.3 編輯條目 390
    19.2 創(chuàng )建用戶(hù)賬戶(hù) 392
    19.2.1 應用程序users 393
    19.2.2 登錄頁(yè)面 394
    19.2.3 注銷(xiāo) 396
    19.2.4 注冊頁(yè)面 397
    19.3 讓用戶(hù)擁有自己的數據 400
    19.3.1 使用@login_required限制訪(fǎng)問(wèn) 400
    19.3.2 將數據關(guān)聯(lián)到用戶(hù) 402
    19.3.3 只允許用戶(hù)訪(fǎng)問(wèn)自己的主題 405
    19.3.4 保護用戶(hù)的主題 405
    19.3.5 保護頁(yè)面edit_entry 406
    19.3.6 將新主題關(guān)聯(lián)到當前用戶(hù) 406
    19.4 小結 408
    第20章 設置應用程序的樣式并對其進(jìn)行部署 409
    20.1 設置項目“學(xué)習筆記”的樣式 409
    20.1.1 應用程序django-bootstrap3 410
    20.1.2 使用Bootstrap來(lái)設置項目“學(xué)習筆記”的樣式 411
    20.1.3 修改base.html 411
    20.1.4 使用jumbotron設置主頁(yè)的樣式 414
    20.1.5 設置登錄頁(yè)面的樣式 415
    20.1.6 設置new_topic頁(yè)面的樣式 416
    20.1.7 設置topics頁(yè)面的樣式 417
    20.1.8 設置topic頁(yè)面中條目的樣式 417
    20.2 部署“學(xué)習筆記” 419
    20.2.1 建立Heroku賬戶(hù) 420
    20.2.2 安裝Heroku Toolbelt 420
    20.2.3 安裝必要的包 420
    20.2.4 創(chuàng )建包含包列表的文件requirements.txt 421
    20.2.5 指定Python版本 422
    20.2.6 為部署到Herohu而修改settings.py 422
    20.2.7 創(chuàng )建啟動(dòng)進(jìn)程的Procfile 423
    20.2.8 為部署到Herohu而修改wsgi.py 423
    20.2.9 創(chuàng )建用于存儲靜態(tài)文件的目錄 424
    20.2.10 在本地使用gunicorn服務(wù)器 424
    20.2.11 使用Git跟蹤項目文件 425
    20.2.12 推送到Heroku 426
    20.2.13 在Heroku上建立數據庫 427
    20.2.14 改進(jìn)Heroku部署 428
    20.2.15 確保項目的安全 429
    20.2.16 提交并推送修改 430
    20.2.17 創(chuàng )建自定義錯誤頁(yè)面 431
    20.2.18 繼續開(kāi)發(fā) 434
    20.2.19 設置SECRET_KEY 434
    20.2.20 將項目從Heroku刪除 434
    20.3 小結 435
    附錄A 安裝Python 436
    附錄B 文本編輯器 441
    附錄C 尋求幫助 447
    附錄D 使用Git進(jìn)行版本控制 451
    后記 460
查看詳情
系列叢書(shū) / 更多
Python編程:從入門(mén)到實(shí)踐
機器學(xué)習實(shí)戰
[美]Peter Harrington 著(zhù);李銳、李鵬、曲亞?wèn)| 譯
Python編程:從入門(mén)到實(shí)踐
圖靈程序設計叢書(shū):Python基礎教程
[挪威]Magnus Lie Hetland 著(zhù);司維、曾軍崴、譚穎華 譯
Python編程:從入門(mén)到實(shí)踐
JavaScript高級程序設計(第3版)
[美]Nicholas C.Zakas 著(zhù);李松峰、曹力 譯
Python編程:從入門(mén)到實(shí)踐
R語(yǔ)言實(shí)戰(第2版)
[美]卡巴科弗(Robert I. Kabacoff) 著(zhù);王小寧、劉擷芯、黃俊文 譯
Python編程:從入門(mén)到實(shí)踐
算法(第4版)
[美]Robert、[美]Kevin Wayne 著(zhù);謝路云 譯
Python編程:從入門(mén)到實(shí)踐
大數據:互聯(lián)網(wǎng)大規模數據挖掘與分布式處理
[美]Anand、[美]Jeffrey David Ullman 著(zhù);王斌 譯
Python編程:從入門(mén)到實(shí)踐
Spark快速大數據分析
[美]卡勞(Holden Karau)、[美]肯維尼斯科(Andy Konwinski)、[美]溫德?tīng)枺≒atrick Wendell)、[加拿大]扎哈里亞(Matei Zaharia) 著(zhù);王道遠 譯
Python編程:從入門(mén)到實(shí)踐
MySQL必知必會(huì )
[英]福塔(Ben Forta) 著(zhù);劉曉霞、鐘鳴 譯
Python編程:從入門(mén)到實(shí)踐
圖解HTTP
[日]上野·宣 著(zhù);于均良 譯
Python編程:從入門(mén)到實(shí)踐
算法圖解
袁國忠 譯
Python編程:從入門(mén)到實(shí)踐
Objective-C基礎教程 第2版
[美]Scott、[美]Waqar、[美]Mark Dalrymple 著(zhù);周慶成 譯
Python編程:從入門(mén)到實(shí)踐
Spring Boot實(shí)戰
[美]克雷格·沃斯(Craig Walls) 著(zhù);丁雪豐 譯
相關(guān)圖書(shū) / 更多
Python編程:從入門(mén)到實(shí)踐
Python編程課
(德)豪克·費爾;譯者:張玄黎
Python編程:從入門(mén)到實(shí)踐
Python人工智能編程實(shí)踐
范淼、徐晟桐
Python編程:從入門(mén)到實(shí)踐
Python程庫設計教程
劉衛國
Python編程:從入門(mén)到實(shí)踐
Python科學(xué)計算基礎
作者
Python編程:從入門(mén)到實(shí)踐
Python程序設計與數據分析
史永霞
Python編程:從入門(mén)到實(shí)踐
Python人工智能應用與實(shí)踐
沈建強
Python編程:從入門(mén)到實(shí)踐
Python程序設計項目化教程
向春枝,張濱燕,丁愛(ài)萍主編
Python編程:從入門(mén)到實(shí)踐
Python量化投資基礎教程
陳學(xué)彬 著(zhù)
Python編程:從入門(mén)到實(shí)踐
Python3編程從零基礎到實(shí)戰
作者
Python編程:從入門(mén)到實(shí)踐
Python數據分析
(英) 羅布·馬斯特羅多梅尼科(Rob Mastrodomenico)著(zhù) 宋廷強譯
Python編程:從入門(mén)到實(shí)踐
Python語(yǔ)言程序設計基礎(微課版)
楊旭
Python編程:從入門(mén)到實(shí)踐
Python極客項目編程(第2版)
(美) 馬赫什·文基塔查拉姆(Mahesh Venkitachalam)
您可能感興趣 / 更多
Python編程:從入門(mén)到實(shí)踐
精神的奧德賽:羅洛·梅傳(羅洛·梅親述,長(cháng)達8年的交談與通信。歐文·亞隆等人聯(lián)袂推薦)
[美]羅伯特·H.阿布朱格(Robert H. Abzug)
Python編程:從入門(mén)到實(shí)踐
文藝復興時(shí)期的羅馬藝術(shù):永恒之城的藝術(shù)家與贊助人
[美]約翰·馬爾恰里 后浪
Python編程:從入門(mén)到實(shí)踐
古典理性之光(西方傳統·經(jīng)典與解釋?zhuān)?/a>
[美]潘戈 著(zhù);蘇婉兒 譯
Python編程:從入門(mén)到實(shí)踐
不被支配:自戀人格的識別與反制
[美]沙希達·阿拉比(Shahida Arabi)
Python編程:從入門(mén)到實(shí)踐
質(zhì)性研究分析與詮釋?zhuān)涸L(fǎng)談之后
[美] 查爾斯·范諾威
Python編程:從入門(mén)到實(shí)踐
梯度提升算法實(shí)戰——基于XGBoost和scikit-learn
[美]科里·韋德(Corey Wade),張生軍
Python編程:從入門(mén)到實(shí)踐
不一樣的我(全2冊)自我認知繪本
[美]麗貝卡·范斯萊克
Python編程:從入門(mén)到實(shí)踐
海面之下:海洋生物形態(tài)圖鑒
[美]托馬斯·M. 尼森 后浪
Python編程:從入門(mén)到實(shí)踐
萬(wàn)千心理·伴侶治療:理論與實(shí)踐(原著(zhù)第三版)
[美]萊恩·斯佩里 著(zhù);段錦礦 張曉黎 譯
Python編程:從入門(mén)到實(shí)踐
最棒的書(shū)呆子
[美]克里斯·格拉本斯坦 著(zhù);[美]詹姆斯·帕特森
Python編程:從入門(mén)到實(shí)踐
這就是物理:ELECTRICITY電
[美]約瑟夫.米森 文
Python編程:從入門(mén)到實(shí)踐
神奇校車(chē)迷失在太陽(yáng)系。4
[美]喬安娜·柯?tīng)?/div>