Python程序設計(原書第3版)/計算機科學叢書 版權信息
- ISBN:9787111678816
- 條形碼:9787111678816 ; 978-7-111-67881-6
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Python程序設計(原書第3版)/計算機科學叢書 本書特色
面向Python初學者,循序漸進地將問題解決方案一步步呈現在讀者面前,新版添加了面向數據科學的示例及練習
Python程序設計(原書第3版)/計算機科學叢書 內容簡介
本書面向Python初學者,采用模塊方式呈現知識要點,而非百科全書式的語法大全。書中介紹了數值、字符串、列表、字典、集合、控制結構、函數、遞歸、排序、面向對象編程、文件操作等基礎知識,通過大量案例來演示這些技術,重視計算思維的培養,由淺入深地將解決問題的完整方案一步步呈現在讀者面前。本版新增了面向數據科學的程序示例和練習,擴展了有關字符串和列表的內容,并引入了海龜圖形和游戲編程等新的數據包。
本書既可作為高等院校計算機專業門程序設計課的教材,也可供Python愛好者自學參考。
Python程序設計(原書第3版)/計算機科學叢書 目錄
出版者的話 譯者序 前言 第1章 導論 1 1.1 計算機程序 1 1.2 計算機組成結構 2 1.3 Python程序設計語言 4 1.4 熟悉程序設計環境 5 1.5 分析我們的**個程序 9 1.6 錯誤信息 11 1.7 問題求解:算法設計 12 本章小結 18 復習題 19 編程題 20 第2章 數值和字符串編程 22 2.1 變量 22 2.1.1 定義變量 22 2.1.2 數值類型 24 2.1.3 變量名稱 25 2.1.4 常量 25 2.1.5 注釋 26 2.2 算術運算 28 2.2.1 基本的算術運算 28 2.2.2 乘冪 28 2.2.3 整除和余數 29 2.2.4 調用函數 30 2.2.5 數學函數 31 2.3 問題求解:先手工演算 35 2.4 字符串 38 2.4.1 字符串類型 38 2.4.2 字符串的拼接和重復 38 2.4.3 數值和字符串之間的相互轉換 39 2.4.4 字符串和字符 40 2.4.5 字符串方法 41 2.5 輸入和輸出 43 2.5.1 用戶輸入 43 2.5.2 數值輸入 44 2.5.3 格式化輸出 45 2.6 圖形應用:簡單繪圖 54 2.6.1 創建窗口 54 2.6.2 直線和多邊形 55 2.6.3 填充形狀和顏色 57 2.6.4 橢圓、圓和文本 59 本章小結 64 復習題 65 編程題 68 第3章 選擇結構 76 3.1 if語句 76 3.2 關系運算符 80 3.3 嵌套分支 87 3.4 多分支結構 91 3.5 問題求解:流程圖 96 3.6 問題求解:測試用例 99 3.7 布爾變量和運算符 100 3.8 分析字符串 105 3.9 應用案例:輸入驗證 107 本章小結 120 復習題 121 編程題 127 第4章 循環結構 136 4.1 while語句 136 4.2 問題求解:手工跟蹤 142 4.3 應用案例:處理哨兵值 145 4.4 問題求解:故事板 148 4.5 常用循環算法 150 4.5.1 求和和平均數 150 4.5.2 匹配項計數 151 4.5.3 提示輸入直到找到匹配項 151 4.5.4 *大值和*小值 151 4.5.5 比較相鄰值 152 4.6 for循環 153 4.7 嵌套循環 161 4.8 處理字符串 167 4.8.1 統計匹配項 167 4.8.2 查找所有匹配項 167 4.8.3 找到**個或者*后一個匹配項 167 4.8.4 驗證字符串 168 4.8.5 創建新的字符串 169 4.9 應用案例:隨機數和仿真 170 4.9.1 生成隨機數 170 4.9.2 模擬擲骰子 171 4.9.3 蒙特卡羅方法 172 4.10 圖形應用:數字圖像處理 176 4.10.1 過濾圖像 176 4.10.2 重新配置圖像 179 4.11 問題求解:先易后難 180 本章小結 185 復習題 186 編程題 190 第5章 函數 200 5.1 作為黑盒的函數 200 5.2 實現和測試函數 201 5.2.1 實現函數 201 5.2.2 測試函數 202 5.2.3 包含函數的程序 202 5.3 參數傳遞 205 5.4 返回值 207 5.5 不帶返回值的函數 214 5.6 問題求解:可復用函數 217 5.7 問題求解:逐步求精 218 5.8 變量的作用范圍 231 5.9 圖形應用:構建圖像處理工具包 237 5.9.1 入門 237 5.9.2 比較圖像 238 5.9.3 調整圖像亮度 238 5.9.4 旋轉圖像 240 5.9.5 使用工具包 241 5.10 遞歸函數(可選) 245 本章小結 255 復習題 256 編程題 259 第6章 列表 266 6.1 列表的基本屬性 266 6.1.1 創建列表 266 6.1.2 訪問列表元素 267 6.1.3 遍歷列表 269 6.1.4 列表引用 269 6.2 列表操作 273 6.2.1 附加元素 273 6.2.2 插入元素 273 6.2.3 查找元素 274 6.2.4 刪除元素 275 6.2.5 拼接和復制 276 6.2.6 相等性測試 276 6.2.7 求和、*大值、*小值和排序 276 6.2.8 復制列表 277 6.3 常用列表算法 279 6.3.1 填充列表 279 6.3.2 組合列表元素 279 6.3.3 元素分隔符 280 6.3.4 *大值和*小值 280 6.3.5 線性查找 281 6.3.6 收集和統計匹配項 281 6.3.7 刪除匹配項 282 6.3.8 交換元素 283 6.3.9 讀取輸入 284 6.4 將列表與函數一起使用 288 6.5 問題求解:修改算法 295 6.6 問題求解:通過操作實體對象發現算法 300 6.7 表格 304 6.7.1 創建表格 304 6.7.2 訪問元素 305 6.7.3 定位相鄰元素 305 6.7.4 計算行總計和列總計 306 6.7.5 將表格與函數一起使用 306 本章小結 314 復習題 315 編程題 318 第7章 文件和異常 325 7.1 讀取和寫入文本文件 325 7.1.1 打開文件 325 7.1.2 讀取文件 326 7.1.3 寫入文件 327 7.1.4 文件處理示例 327 7.2 文本輸入和輸出 328 7.2.1 遍歷文件中的行 329 7.2.2 讀取單詞 330 7.2.3 讀取字符 332 7.2.4 讀取記錄 333 7.3 命令行參數 340 7.4 二進制文件和隨機訪問(可選) 352 7.4.1 讀取和寫入二進制文件 352 7.4.2 隨機訪問 353 7.4.3 圖像文件 353 7.4.4 處理BMP文件 355 7.5 異常處理 361 7.5.1 引發異常 361 7.5.2 處理異常 362 7.5.3 finally子句 364 7.6 應用案例:處理輸入錯誤 367 本章小結 378 復習題 379 編程題 380 第8章 集合和字典 390 8.1 集合 390 8.1.1 創建和使用集合 390 8.1.2 添加和刪除元素 392 8.1.3 子集 393 8.1.4 并集、交集和差集 393 8.2 字典 400 8.2.1 創建字典 401 8.2.2 訪問字典的值 401 8.2.3 添加和修改數據項 401 8.2.4 刪除數據項 402 8.2.5 遍歷字典 403 8.3 復雜的數據結構 409 8.3.1 包含集合的字典 409 8.3.2 包含列表的字典 411 本章小結 420 復習題 421 編程題 423 第9章 對象和類 426 9.1 面向對象的程序設計 426 9.2 實現一個簡單的類 427 9.3 指定類的公共接口 430 9.4 設計數據表示 431 9.5 構造函數 432 9.6 實現方法 435 9.7 測試類 438 9.8 問題求解:跟蹤對象 445 9.9 問題求解:對象數據的模式 448 9.9.1 使用總計 448 9.9.2 統計事件 449 9.9.3 收集值 449 9.9.4 管理對象的屬性 449 9.9.5 使用不同的狀態建模對象 450 9.9.6 描述對象的位置 451 9.10 對象引用 451 9.10.1 共享引用 452 9.10.2 None引用 453 9.10.3 self引用 454 9.10.4 對象的生命周期 454 9.11 應用案例:實現一個Fraction類 456 9.11.1 Fraction類的設計 456 9.11.2 構造函數 457 9.11.3 特殊方法 458 9.11.4 算術運算 459 9.11.5 邏輯運算 460 本章小結 467 復習題 468 編程題 469 第10章 繼承 475 10.1 繼承的層次結構 475 10.2 實現子類 479 10.3 調用超類的構造函數 482 10.4 重寫方法 485 10.5 多態 488 10.6 應用案例:幾何圖形類的層次結構 500 10.6.1 基類 500 10.6.2 基本形狀 502 10.6.3 形狀組 505 本章小結 514 復習題 514 編程題 515 第11章 遞歸 520 11.1 三角形數字之再探討 520 11.2 問題求解:遞歸思維 523 11.3 遞歸輔助函數 527 11.4 遞歸的效率 528 11.5 排列 533 11.6 回溯 536 11.7 相互遞歸 543 本章小結 550 復習題 550 編程題 551 第12章 排序和查找 556 12.1 選擇排序算法 556 12.2 選擇排序算法的性能測量 558 12.3 選擇排序算法的性能分析 559 12.4 合并排序算法 563 12.5 分析合并排序算法 565 12.6 查找算法 569 12.6.1 線性查找 570 12.6.2 二分查找 571 12.7 問題求解:估計算法的運行時間 573 12.7.1 線性時間 573 12.7.2 二次時間 574 12.7.3 三角形模式 575 12.7.4 對數時間 576 本章小結 581 復習題 581 編程題 584
展開全部
Python程序設計(原書第3版)/計算機科學叢書 作者簡介
凱·霍斯特曼(Cay Horstmann) 圣何塞州立大學計算機科學系教授,Java的倡導者,經常在開發人員會議上發表演講。他是《Java核心技術》的作者,同時也關注Python、Scala、C++等語言,為專業程序員和計算機科學專業學生編寫過數十本圖書。
蘭斯·尼塞斯(Rance Necaise) 蘭道爾夫-麥肯學院計算機科學系副教授,撰寫了《Data Structures and Algorithms Using Python》和《Python for Java Programmers》等技術書籍。