|
-- 會員 / 註冊 --
|
|
|
|
Python編程 從入門到實踐 ( 簡體 字) |
作者:[美] 埃里克·馬瑟斯 ( Eric Matthes ) | 類別:1. -> 程式設計 -> Python |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 44781 詢問書籍請說出此書號!【缺書】 NT售價: 445 元 |
出版日:7/1/2016 |
頁數:459 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115428028 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介: 本書是一本針對所有層次的Python讀者而作的Python入門書。全書分兩部分:首部分介紹用Python 編程所必須了解的基本概念,包括matplotlib、NumPy和Pygal等強大的Python庫和工具介紹,以及列表、字典、if語句、類、文件與異常、代碼測試等內容;第二部分將理論付諸實踐,講解如何開發三個項目,包括簡單的Python 2D游戲開發,如何利用數據生成交互式的信息圖,以及創建和定制簡單的Web應用,并幫讀者解決常見編程問題和困惑。 |
目錄:第一部分 基礎知識 第1章 起步 2 1.1 搭建編程環境 2 1.1.1 Python 2和Python 3 2 1.1.2 運行Python代碼片段 3 1.1.3 Hello World程序 3 1.2 在不同操作系統中搭建Python編程環境 3 1.2.1 在Linux系統中搭建Python編程環境 3 1.2.2 在OS X系統中搭建Python編程環境 6 1.2.3 在Windows系統中搭建Python編程環境 8 1.3 解決安裝問題 12 1.4 從終端運行Python程序 13 1.4.1 在Linux和OS X系統中從終端運行Python程序 13 1.4.2 在Windows系統中從終端運行Python程序 13 1.5 小結 14 第2章 變量和簡單數據類型 15 2.1 運行hello_world.py時發生的情況 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 數字 24 2.4.1 整數 24 2.4.2 浮點數 25 2.4.3 使用函數str()避免類型錯誤 25 2.4.4 Python 2中的整數 26 2.5 注釋 27 2.5.1 如何編寫注釋 27 2.5.2 該編寫什么樣的注釋 28 2.6 Python之禪 28 2.7 小結 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 使用函數sorted()對列表進行臨時排序 40 3.3.3 倒著打印列表 41 3.3.4 確定列表的長度 41 3.4 使用列表時避免索引錯誤 42 3.5 小結 43 第4章 操作列表 44 4.1 遍歷整個列表 44 4.1.1 深入地研究循環 45 4.1.2 在for循環中執行更多的操作 46 4.1.3 在for循環結束后執行一些操作 47 4.2 避免縮進錯誤 47 4.2.1 忘記縮進 48 4.2.2 忘記縮進額外的代碼行 48 4.2.3 不必要的縮進 49 4.2.4 循環后不必要的縮進 49 4.2.5 遺漏了冒號 50 4.3 創建數值列表 51 4.3.1 使用函數range() 51 4.3.2 使用range()創建數字列表 51 4.3.3 對數字列表執行簡單的統計計算 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 縮進 61 4.6.3 行長 61 4.6.4 空行 62 4.6.5 其他格式設置指南 62 4.7 小結 63 第5章 if語句 64 5.1 一個簡單示例 64 5.2 條件測試 65 5.2.1 檢查是否相等 65 5.2.2 檢查是否相等時不考慮大小寫 65 5.2.3 檢查是否不相等 66 5.2.4 比較數字 67 5.2.5 檢查多個條件 67 5.2.6 檢查特定值是否包含在列表中 69 5.2.8 布爾表達式 69 5.3 if語句 70 5.3.1 簡單的if語句 70 5.3.2 if-else語句 71 5.3.3 if-elif-else結構 72 5.3.4 使用多個elif代碼塊 73 5.3.5 省略else代碼塊 74 5.3.6 測試多個條件 74 5.4 使用if語句處理列表 76 5.4.1 檢查特殊元素 77 5.4.2 確定列表不是空的 78 5.4.3 使用多個列表 78 5.5 設置if語句的格式 80 5.6 小結 80 第6章 字典 81 6.1 一個簡單的字典 81 6.2 使用字典 82 6.2.1 訪問字典中的值 82 6.2.2 添加鍵—值對 83 6.2.3 先創建一個空字典 83 6.2.4 修改字典中的值 84 6.2.5 刪除鍵—值對 85 6.2.6 由類似對象組成的字典 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章 用戶輸入和while循環 100 7.1 函數input()的工作原理 100 7.1.1 編寫清晰的程序 101 7.1.2 使用int()來獲取數值輸入 102 7.1.3 求模運算符 103 7.1.4 在Python 2.7中獲取輸入 104 7.2 while循環簡介 104 7.2.1 使用while循環 104 7.2.2 讓用戶選擇何時退出 105 7.2.3 使用標志 106 7.2.4 使用break退出循環 107 7.2.5 在循環中使用continue 108 7.2.6 避免無限循環 109 7.3 使用while循環來處理列表和字典 110 7.3.1 在列表之間移動元素 110 7.3.2 刪除包含特定值的所有列表元素 111 7.3.3 使用用戶輸入來填充字典 112 7.4 小結 113 第8章 函數 114 8.1 定義函數 114 8.1.1 向函數傳遞信息 115 8.1.2 實參和形參 115 8.2 傳遞實參 116 8.2.1 位置實參 116 8.2.2 關鍵字實參 118 8.2.3 默認值 118 8.2.4 等效的函數調用 119 8.2.5 避免實參錯誤 120 8.3 返回值 121 8.3.1 返回簡單值 121 8.3.2 讓實參變成可選的 122 8.3.3 返回字典 123 8.3.4 結合使用函數和while循環....... 124 8.4 傳遞列表 126 8.4.1 在函數中修改列表 126 8.4.2 禁止函數修改列表 129 8.5 傳遞任意數量的實參 130 8.5.1 結合使用位置實參和任意數量實參 131 8.5.2 使用任意數量的關鍵字實參 131 8.6 將函數存儲在模塊中 133 8.6.1 導入整個模塊 133 8.6.2 導入特定的函數 134 8.6.3 使用as給函數指定別名 134 8.6.4 使用as給模塊指定別名 135 8.6.5 導入模塊中的所有函數 135 8.7 函數編寫指南 136 8.8 小結 137 第9章 類 138 9.1 創建和使用類 138 9.1.1 創建Dog類 139 9.1.2 根據類創建實例 140 9.2 使用類和實例 142 9.2.1 Car類 143 9.2.2 給屬性指定默認值 143 9.2.3 修改屬性的值 144 9.3 繼承 147 9.3.1 子類的方法__init__() 147 9.3.2 Python 2.7中的繼承 149 9.3.3 給子類定義屬性和方法 149 9.3.4 重寫父類的方法 150 9.3.5 將實例用作屬性 150 9.3.6 模擬實物 152 9.4 導入類 153 9.4.1 導入單個類 153 9.4.2 在一個模塊中存儲多個類 155 9.4.3 從一個模塊中導入多個類 156 9.4.4 導入整個模塊 157 9.4.5 導入模塊中的所有類 157 9.4.6 在一個模塊中導入另一個模塊 157 9.4.7 自定義工作流程 158 9.5 Python標準庫 159 9.6 類編碼風格 161 9.7 小結 161 第10章 文件和異常 162 10.1 從文件中讀取數據 162 10.1.1 讀取整個文件 162 10.1.2 文件路徑 164 10.1.3 逐行讀取 165 10.1.4 創建一個包含文件各行內容的列表 166 10.1.5 使用文件的內容 166 10.1.6 包含一百萬位的大型文件 168 10.1.7 圓周率值中包含你的生日嗎 168 10.2 寫入文件 169 10.2.1 寫入空文件 170 10.2.2 寫入多行 170 10.2.3 附加到文件 171 10.3 異常 172 10.3.1 處理ZeroDivisionError異常 172 10.3.2 使用try-except代碼塊 173 10.3.3 使用異常避免崩潰 173 10.3.4 else代碼塊 174 10.3.5 處理FileNotFoundError異常 175 10.3.6 分析文本 176 10.3.7 使用多個文件 177 10.3.8 失敗時一聲不吭 178 10.3.9 決定報告哪些錯誤 179 10.4 存儲數據 180 10.4.1 使用json.dump()和json.load() 180 10.4.2 保存和讀取用戶生成的數據 181 10.4.3 重構 183 10.5 小結 186 第11章 測試代碼 187 11.1 測試函數 187 11.1.1 單元測試和測試用例 188 11.1.2 可通過的測試 188 11.1.3 不能通過的測試 190 11.1.4 測試未通過時怎么辦 191 11.1.5 添加新測試 191 11.2 測試類 193 11.2.1 各種斷言方法 193 11.2.2 一個要測試的類 194 11.2.3 測試AnonymousSurvey類 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 開始游戲項目 207 12.3.1 創建Pygame窗口以及響應用戶輸入 208 12.3.2 設置背景色 209 12.3.3 創建設置類 210 12.4 添加飛船圖像 211 12.4.1 創建Ship類 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 允許不斷移動 217 12.6.3 左右移動 219 12.6.4 調整飛船的速度 220 12.6.5 限制飛船的活動范圍 221 12.6.6 重構check_events() 222 12.7 簡單回顧 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 創建Bullet類 224 12.8.3 將子彈存儲到編組中 226 12.8.4 開火 227 12.8.5 刪除已消失的子彈 228 12.8.6 限制子彈數量 229 12.8.7 創建函數update_bullets() 230 12.9 小結 231 第13章 外星人 232 13.1 回顧項目 232 13.2 創建第一個外星人 233 13.2.1 創建Alien類 233 13.2.2 創建Alien實例 234 13.2.3 讓外星人出現在屏幕上 235 13.3 創建一群外星人 236 13.3.1 確定一行可容納多少個外星人 236 13.3.2 創建多行外星人 236 13.3.3 創建外星人群 237 13.3.4 重構create_fleet() 239 13.3.5 添加行 240 13.4 讓外星人群移動 242 13.4.1 向右移動外星人 243 13.4.2 創建表示外星人移動方向的設置 244 13.4.3 檢查外星人是否撞到了屏幕邊緣 244 13.4.4 向下移動外星人群并改變移動方向 245 13.5 射殺外星人 246 13.5.1 檢測子彈與外星人的碰撞 246 13.5.2 為測試創建大子彈 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 創建Button類 258 14.1.2 在屏幕上繪制按鈕 259 14.1.3 開始游戲 261 14.1.4 重置游戲 261 14.1.5 將Play按鈕切換到非活動狀態 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 創建記分牌 268 14.3.3 在外星人被消滅時更新得分 270 14.3.4 將消滅的每個外星人的點數都計入得分 271 14.3.5 提高點數 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畫廊 287 15.2 繪制簡單的折線圖 287 15.2.1 修改標簽文字和線條粗細 288 15.2.2 校正圖形 289 15.2.3 使用scatter()繪制散點圖并設置其樣式 290 15.2.4 使用scatter()繪制一系列點 291 15.2.5 自動計算數據 292 15.2.6 刪除數據點的輪廓 293 15.2.7 自定義顏色 293 15.2.8 使用顏色映射 294 15.2.9 自動保存圖表 295 15.3 隨機漫步 295 15.3.1 創建RandomWalk()類 296 15.3.2 選擇方向 296 15.3.3 繪制隨機漫步圖 297 15.3.4 模擬多次隨機漫步 298 15.3.5 設置隨機漫步圖的樣式 299 15.3.6 給點著色 299 15.3.7 重新繪制起點和終點 300 15.3.8 隱藏坐標軸 301 15.3.9 增加點數 301 15.3.10 調整尺寸以適合屏幕 302 15.4 使用Pygal模擬擲骰子 303 15.4.1 安裝Pygal 304 15.4.2 Pygal畫廊 304 15.4.3 創建Die類 304 15.4.4 擲骰子 305 15.4.5 分析結果 305 15.4.6 繪制直方圖 306 15.4.7 同時擲兩個骰子 307 15.4.8 同時擲兩個面數不同的骰子 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 涵蓋更長的時間 318 16.1.8 再繪制一個數據系列 319 16.1.9 給圖表區域著色 320 16.1.10 錯誤檢查 321 16.2 制作世界人口地圖:JSON格式 324 16.2.1 下載世界人口數據 324 16.2.2 提取相關的數據 324 16.2.3 將字符串轉換為數字值 326 16.2.4 獲取兩個字母的國別碼 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 改進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入門 355 18.1 建立項目 355 18.1.1 制定規范 355 18.1.2 建立虛擬環境 356 18.1.3 安裝virtualenv 356 18.1.4 激活虛擬環境 357 18.1.5 安裝Django 357 18.1.6 在Django中創建項目 357 18.1.7 創建數據庫 358 18.1.8 查看項目 359 18.2 創建應用程序 360 18.2.1 定義模型 360 18.2.2 激活模型 362 18.2.3 Django 管理網站 363 18.2.4 定義模型Entry 365 18.2.5 遷移模型Entry 366 18.2.6 向管理網站注冊Entry 366 18.2.7 Django shell 367 18.3 創建網頁:學習筆記主頁 369 18.3.1 映射URL 369 18.3.2 編寫視圖 371 18.3.3 編寫模板 372 18.4 創建其他網頁 373 18.4.1 模板繼承 373 18.4.2 顯示所有主題的頁面 375 18.4.3 顯示特定主題的頁面 378 18.5 小結 381 第19章 用戶賬戶 382 19.1 讓用戶能夠輸入數據 382 19.1.1 添加新主題 382 19.1.2 添加新條目 386 19.1.3 編輯條目 390 19.2 創建用戶賬戶 392 19.2.1 應用程序users 393 19.2.2 登錄頁面 394 19.2.3 注銷 396 19.2.4 注冊頁面 397 19.3 讓用戶擁有自己的數據 400 19.3.1 使用@login_required限制訪問 400 19.3.2 將數據關聯到用戶 402 19.3.3 只允許用戶訪問自己的主題 405 19.3.4 保護用戶的主題 405 19.3.5 保護頁面edit_entry 406 19.3.6 將新主題關聯到當前用戶 406 19.4 小結 408 第20章 設置應用程序的樣式并對其進行部署 409 20.1 設置項目“學習筆記”的樣式 409 20.1.1 應用程序django-bootstrap3 410 20.1.2 使用Bootstrap來設置項目“學習筆記”的樣式 411 20.1.3 修改base.html 411 20.1.4 使用jumbotron設置主頁的樣式 414 20.1.5 設置登錄頁面的樣式 415 20.1.6 設置new_topic頁面的樣式 416 20.1.7 設置topics頁面的樣式 417 20.1.8 設置topic頁面中條目的樣式 417 20.2 部署“學習筆記” 419 20.2.1 建立Heroku賬戶 420 20.2.2 安裝Heroku Toolbelt 420 20.2.3 安裝必要的包 420 20.2.4 創建包含包列表的文件requirements.txt 421 20.2.5 指定Python版本 422 20.2.6 為部署到Herohu而修改settings.py 422 20.2.7 創建啟動進程的Procfile 423 20.2.8 為部署到Herohu而修改wsgi.py 423 20.2.9 創建用于存儲靜態文件的目錄 424 20.2.10 在本地使用gunicorn服務器 424 20.2.11 使用Git跟蹤項目文件 425 20.2.12 推送到Heroku 426 20.2.13 在Heroku上建立數據庫 427 20.2.14 改進Heroku部署 428 20.2.15 確保項目的安全 429 20.2.16 提交并推送修改 430 20.2.17 創建自定義錯誤頁面 431 20.2.18 繼續開發 434 20.2.19 設置SECRET_KEY 434 20.2.20 將項目從Heroku刪除 434 20.3 小結 435 附錄A 安裝Python 436 附錄B 文本編輯器 441 附錄C 尋求幫助 447 附錄D 使用Git進行版本控制 451 后記 460
|
序: |
|