像計算機科學家一樣思考Python 第2版 ( 簡體 字) |
作者:[美] 艾倫 B. 唐尼 ( Allen B. Downey ) | 類別:1. -> 程式設計 -> Python |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 44787 詢問書籍請說出此書號!【缺書】 NT售價: 245 元 |
出版日:7/1/2016 |
頁數:226 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115425515 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介: 本書以培養讀者以計算機科學家一樣的思維方式來理解Python語言編程。貫穿全書的主體是如何思考、設計、開發的方法,而具體的編程語言,只是提供了一個具體場景方便介紹的媒介。 全書共21章,詳細介紹Python語言編程的方方面面。本書從基本的編程概念開始講起,包括語言的語法和語義,而且每個編程概念都有清晰的定義,引領讀者循序漸進地學習變量、表達式、語句、函數和數據結構。書中還探討了如何處理文件和數據庫,如何理解對象、方法和面向對象編程,如何使用調試技巧來修正語法錯誤、運行時錯誤和語義錯誤。每一章都配有術語表和練習題,方便讀者鞏固所學的知識和技巧。此外,每一章都抽出一節來講解如何調試程序。作者針對每章所專注的語言特性,或者相關的開發問題,總結了調試的方方面面。 本書的第2版與第1版相比,做了很多更新,將編程語言從Python 2升級成Python 3,并修改了很多示例和練習,增加了新的章節,更全面地介紹Python語言。 這是一本實用的學習指南,適合沒有Python編程經驗的程序員閱讀,也適合高中或大學的學生、Python愛好者及需要了解編程基礎的人閱讀。對于首次接觸程序設計的人來說,是一本不可多得的佳作。
|
目錄:第1章 程序之道 1 1.1 什么是程序 1 1.2 運行Python 2 1.3 第一個程序 3 1.4 算術操作符 3 1.5 值和類型 4 1.6 形式語言和自然語言 5 1.7 調試 6 1.8 術語表 7 1.9 練習 8 第2章 變量、表達式和語句 9 2.1 賦值語句 9 2.2 變量名稱 9 2.3 表達式和語句 10 2.4 腳本模式 11 2.5 操作順序 12 2.6 字符串操作 13 2.7 注釋 13 2.8 調試 14 2.9 術語表 15 2.10 練習 16 第3章 函數 17 3.1 函數調用 17 3.2 數學函數 18 3.3 組合 19 3.4 添加新函數 19 3.5 定義和使用 21 3.6 執行流程 21 3.7 形參和實參 22 3.8 變量和形參是局部的 23 3.9 棧圖 23 3.10 有返回值函數和無返回值函數 24 3.11 為什么要有函數 25 3.12 調試 26 3.13 術語表 26 3.14 練習 27 第4章 案例研究:接口設計 30 4.1 turtle模塊 30 4.2 簡單重復 31 4.3 練習 32 4.4 封裝 33 4.5 泛化 34 4.6 接口設計 34 4.7 重構 35 4.8 一個開發計劃 36 4.9 文檔字符串 37 4.10 調試 38 4.11 術語表 38 4.12 練習 39 第5章 條件和遞歸 41 5.1 向下取整除法操作符和求模操作符 41 5.2 布爾表達式 42 5.3 邏輯操作符 42 5.4 條件執行 43 5.5 選擇執行 43 5.6 條件鏈 44 5.7 嵌套條件 44 5.8 遞歸 45 5.9 遞歸函數的棧圖 46 5.10 無限遞歸 47 5.11 鍵盤輸入 47 5.12 調試 48 5.13 術語表 49 5.14 練習 50 第6章 有返回值的函數 53 6.1 返回值 53 6.2 增量開發 54 6.3 組合 56 6.4 布爾函數 57 6.5 再談遞歸 58 6.6 堅持信念 59 6.7 另一個示例 60 6.8 檢查類型 60 6.9 調試 61 6.10 術語表 63 6.11 練習 63 第7章 迭代 65 7.1 重新賦值 65 7.2 更新變量 66 7.3 while語句 66 7.4 break語句 68 7.5 平方根 68 7.6 算法 70 7.7 調試 70 7.8 術語表 71 7.9 練習 71 第8章 字符串 73 8.1 字符串是一個序列 73 8.2 len 74 8.3 使用for循環進行遍歷 74 8.4 字符串切片 75 8.5 字符串是不可變的 76 8.6 搜索 77 8.7 循環和計數 77 8.8 字符串方法 78 8.9 操作符in 79 8.10 字符串比較 79 8.11 調試 80 8.12 術語表 82 8.13 練習 82 第9章 案例分析:文字游戲 85 9.1 讀取單詞列表 85 9.2 練習 86 9.3 搜索 87 9.4 使用下標循環 88 9.5 調試 90 9.6 術語表 90 9.7 練習 91 第10章 列表 93 10.1 列表是一個序列 93 10.2 列表是可變的 94 10.3 遍歷一個列表 95 10.4 列表操作 95 10.5 列表切片 96 10.6 列表方法 96 10.7 映射、過濾和化簡 97 10.8 刪除元素 98 10.9 列表和字符串 99 10.10 對象和值 100 10.11 別名 101 10.12 列表參數 102 10.13 調試 103 10.14 術語表 104 10.15 練習 105 第11章 字典 108 11.1 字典是一種映射 108 11.2 使用字典作為計數器集合 110 11.3 循環和字典 111 11.4 反向查找 111 11.5 字典和列表 112 11.6 備忘 114 11.7 全局變量 115 11.8 調試 117 11.9 術語表 118 11.10 練習 119 第12章 元組 121 12.1 元組是不可變的 121 12.2 元組賦值 122 12.3 作為返回值的元組 123 12.4 可變長參數元組 124 12.5 列表和元組 124 12.6 字典和元組 126 12.7 序列的序列 127 12.8 調試 128 12.9 術語表 129 12.10 練習 129 第13章 案例研究:選擇數據結構 132 13.1 單詞頻率分析 132 13.2 隨機數 133 13.3 單詞直方圖 134 13.4 最常用的單詞 135 13.5 可選形參 136 13.6 字典減法 137 13.7 隨機單詞 138 13.8 馬爾可夫分析 138 13.9 數據結構 140 13.10 調試 141 13.11 術語表 142 13.12 練習 143 第14章 文件 144 14.1 持久化 144 14.2 讀和寫 144 14.3 格式操作符 145 14.4 文件名和路徑 146 14.5 捕獲異常 147 14.6 數據庫 148 14.7 封存 149 14.8 管道 150 14.9 編寫模塊 151 14.10 調試 152 14.11 術語表 152 14.12 練習 153 第15章 類和對象 155 15.1 用戶定義類型 155 15.2 屬性 156 15.3 矩形 157 15.4 作為返回值的實例 158 15.5 對象是可變的 159 15.6 復制 159 15.7 調試 161 15.8 術語表 161 15.9 練習 162 第16章 類和函數 163 16.1 時間 163 16.2 純函數 164 16.3 修改器 165 16.4 原型和計劃 166 16.5 調試 167 16.6 術語表 168 16.7 練習 168 第17章 類和方法 170 17.1 面向對象特性 170 17.2 打印對象 171 17.3 另一個示例 172 17.4 一個更復雜的示例 173 17.5 init方法 173 17.6 _ _str_ _方法 174 17.7 操作符重載 175 17.8 基于類型的分發 175 17.9 多態 177 17.10 接口和實現 177 17.11 調試 178 17.12 術語表 179 17.13 練習 179 第18章 繼承 181 18.1 卡片對象 181 18.2 類屬性 182 18.3 對比卡牌 183 18.4 牌組 184 18.5 打印牌組 185 18.6 添加、刪除、洗牌和排序 185 18.7 繼承 186 18.8 類圖 188 18.9 數據封裝 189 18.10 調試 190 18.11 術語表 191 18.12 練習 191 第19章 Python拾珍 194 19.1 條件表達式 194 19.2 列表理解 195 19.3 生成器表達式 196 19.4 any和all 197 19.5 集合 197 19.6 計數器 199 19.7 defaultdict 200 19.8 命名元組 201 19.9 收集關鍵詞參數 202 19.10 術語表 203 19.11 練習 203 第20章 調試 205 20.1 語法錯誤 205 20.2 運行時錯誤 207 20.2.1 我的程序什么都不做 207 20.2.2 我的程序卡死了 207 20.2.3 無限循環 208 20.2.4 無限遞歸 208 20.2.5 執行流程 208 20.2.6 當我運行程序,會得到一個異常 209 20.2.7 我添加了太多print語句,被輸出淹沒了 210 20.3 語義錯誤 210 20.3.1 我的程序運行不正確 211 20.3.2 我有一個巨大而復雜的表達式,而它和我預料的不同 211 20.3.3 我有一個函數,返回值和預期不同 212 20.3.4 我真的真的卡住了,我需要幫助 212 20.3.5 不行,我真的需要幫助 212 第21章 算法分析 214 21.1 增長量級 215 21.2 Python基本操作的分析 217 21.3 搜索算法的分析 218 21.4 散列表 219 21.5 術語表 223 譯后記 224
|
序: |