暫無商品咨詢信息 [發(fā)表商品咨詢]
本書旨在采用以基礎(chǔ)為先的教學(xué)方法,幫助學(xué)生在更廣泛的情境中學(xué)習(xí)問題解決思路和程序設(shè)計方法,從而創(chuàng)建高效、優(yōu)雅的代碼,適用于Python程序設(shè)計和數(shù)據(jù)結(jié)構(gòu)入門課程。書中首先介紹選擇、循環(huán)和函數(shù)等基本編程概念和技巧,然后才引入自定義類。本書還配有不同難度的問題和練習(xí),涵蓋有趣的應(yīng)用領(lǐng)域,以激發(fā)靈感,激勵學(xué)生學(xué)習(xí)。第3版新增了數(shù)據(jù)結(jié)構(gòu)主題,內(nèi)容、示例和練習(xí)均與主流趨勢保持同步。
本書中文版分為基礎(chǔ)篇和進(jìn)階篇,基礎(chǔ)篇對應(yīng)原書的第1~14章,進(jìn)階篇對應(yīng)原書的第15~23章,便于教師按需選擇教材。
本書特色
以問題驅(qū)動、基礎(chǔ)為先的方法進(jìn)行介紹,側(cè)重于問題解決思路,而非語法。
從基礎(chǔ)開始,循序漸進(jìn)地講解,先教授基本概念和技巧,再引入自定義類。
涵蓋從基礎(chǔ)到面向?qū)ο蟪绦蛟O(shè)計,從簡單函數(shù)到STL,再到簡單數(shù)據(jù)類型和經(jīng)典結(jié)構(gòu)的廣泛主題。
編程練習(xí)按難度分組,為學(xué)生提供大量實(shí)踐和應(yīng)用技能的機(jī)會。
書中有豐富的來自各個領(lǐng)域的例子和問題,為學(xué)習(xí)概念提供了有趣的背景。
采用靈活的章節(jié)順序,允許教師跳過或稍后處理圖形內(nèi)容。
本書首先介紹Python基礎(chǔ)知識,在帶領(lǐng)讀者編寫自定義類之前,先介紹關(guān)于選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和函數(shù)的基本編程概念和技術(shù)。然后介紹如何使用Python解決問題。不同難度的練習(xí)和問題涵蓋了多個有趣的應(yīng)用領(lǐng)域。本書包含大量練習(xí)題,指導(dǎo)讀者創(chuàng)建高效、優(yōu)雅的代碼,在實(shí)踐中掌握編程技巧。第3版新增了關(guān)于數(shù)據(jù)結(jié)構(gòu)的內(nèi)容,并更新了大量示例和練習(xí)。
譯者序<br />前言<br />作者簡介<br />第1章 計算機(jī)、程序和Python簡介 1<br />1.1 概述 1<br />1.2 什么是計算機(jī) 2<br />1.2.1 中央處理器 2<br />1.2.2 二進(jìn)制位和字節(jié) 3<br />1.2.3 內(nèi)存 3<br />1.2.4 存儲設(shè)備 4<br />1.2.5 輸入設(shè)備和輸出設(shè)備 5<br />1.2.6 通信設(shè)備 5<br />1.3 程序設(shè)計語言 6<br />1.3.1 機(jī)器語言 6<br />1.3.2 匯編語言 6<br />1.3.3 高級語言 7<br />1.4 操作系統(tǒng) 8<br />1.4.1 控制和監(jiān)測系統(tǒng)活動 8<br />1.4.2 分配和安排系統(tǒng)資源 8<br />1.4.3 調(diào)度計劃任務(wù) 8<br />1.5 Python的發(fā)展歷史 9<br />1.6 Python入門 9<br />1.6.1 啟動Python 10<br />1.6.2 創(chuàng)建Python源代碼文件 11<br />1.6.3 使用Python執(zhí)行數(shù)學(xué)計算 13<br />1.7 程序設(shè)計風(fēng)格和文檔 13<br />1.7.1 適當(dāng)?shù)淖⑨尯妥⑨岋L(fēng)格 14<br />1.7.2 適當(dāng)?shù)拈g距 14<br />1.8 程序設(shè)計錯誤 14<br />1.8.1 語法錯誤 14<br />1.8.2 運(yùn)行時錯誤 15<br />1.8.3 邏輯錯誤 15<br />1.9 圖形程序設(shè)計入門 16<br />1.9.1 繪制圖形并為圖形添加顏色 16<br />1.9.2 將畫筆移動到任何位置 18<br />1.9.3 繪制奧運(yùn)五環(huán)徽標(biāo) 19<br />關(guān)鍵術(shù)語 20<br />本章總結(jié) 21<br />編程練習(xí) 21<br />第2章 程序設(shè)計初步 26<br />2.1 概述 26<br />2.2 編寫一個簡單的程序 26<br />2.3 從控制臺讀取輸入 28<br />2.4 標(biāo)識符 30<br />2.5 變量、賦值語句和表達(dá)式 31<br />2.6 同時賦值 32<br />2.7 命名常量 32<br />2.8 數(shù)值數(shù)據(jù)類型和運(yùn)算符 33<br />2.8.1 運(yùn)算符/、//和** 34<br />2.8.2 運(yùn)算符% 34<br />2.8.3 科學(xué)記數(shù)法 36<br />2.9 案例研究:零錢兌換 36<br />2.10 表達(dá)式求值以及運(yùn)算符優(yōu)先級 38<br />2.11 復(fù)合賦值運(yùn)算符 39<br />2.12 類型轉(zhuǎn)換和數(shù)值舍入 39<br />2.13 案例研究:顯示當(dāng)前時間 41<br />2.14 軟件開發(fā)過程 42<br />2.15 案例研究:計算距離 45<br />關(guān)鍵術(shù)語 48<br />本章總結(jié) 48<br />編程練習(xí) 48<br />第3章 選擇結(jié)構(gòu) 59<br />3.1 概述 59<br />3.2 布爾類型、布爾值和布爾表達(dá)式 60<br />3.3 生成隨機(jī)數(shù) 61<br />3.4 if語句 62<br />3.5 雙分支if-else語句 64<br />3.6 嵌套的if語句和多分支if-elif-else語句 66<br />3.7 選擇語句中的常見錯誤 69<br />3.8 案例研究:計算體重指數(shù) 71<br />3.9 案例研究:計算個人所得稅 72<br />3.10 邏輯運(yùn)算符 74<br />3.11 案例研究:判斷閏年 77<br />3.12 案例研究:彩票抽獎 77<br />3.13 條件表達(dá)式 79<br />3.14 Python 3.10版本中的match-case<br />語句 79<br />3.15 運(yùn)算符優(yōu)先級和結(jié)合性 81<br />3.16 檢測目標(biāo)的位置 82<br />關(guān)鍵術(shù)語 84<br />本章總結(jié) 84<br />編程練習(xí) 84<br />第4章 數(shù)學(xué)函數(shù)、字符串和對象 101<br />4.1 概述 101<br />4.2 常用的Python函數(shù) 102<br />4.3 字符串和字符 107<br />4.3.1 ASCII碼和統(tǒng)一碼 108<br />4.3.2 函數(shù)ord和chr 109<br />4.3.3 特殊字符的轉(zhuǎn)義序列 109<br />4.3.4 不使用換行符進(jìn)行打印 110<br />4.3.5 str函數(shù) 111<br />4.3.6 拼接和重復(fù)運(yùn)算符 111<br />4.3.7 從控制臺讀取字符串 112<br />4.3.8 in和not in運(yùn)算符 112<br />4.3.9 比較字符串 113<br />4.3.10 字符串函數(shù) 114<br />4.3.11 索引運(yùn)算符 115<br />4.3.12 切片運(yùn)算符 116<br />4.4 案例研究:使用字符串改進(jìn)彩票<br />抽獎程序 116<br />4.5 對象和方法簡介 117<br />4.6 字符串方法 118<br />4.6.1 查找和統(tǒng)計子字符串 120<br />4.6.2 轉(zhuǎn)換字符串 121<br />4.6.3 從字符串中去除空白字符 122<br />4.7 案例研究 123<br />4.7.1 問題:猜測生日 123<br />4.7.2 問題:將十六進(jìn)制數(shù)字轉(zhuǎn)換<br />為十進(jìn)制值 126<br />4.8 格式化數(shù)值和字符串 127<br />4.8.1 格式化浮點(diǎn)數(shù) 128<br />4.8.2 格式化為科學(xué)記數(shù)法 129<br />4.8.3 格式化為百分比 129<br />4.8.4 對齊格式 129<br />4.8.5 格式化整數(shù) 130<br />4.8.6 格式化字符串 130<br />4.8.7 F-字符串 132<br />4.9 繪制各種不同類型的形狀 133<br />4.10 使用顏色和字體進(jìn)行繪制 135<br />關(guān)鍵術(shù)語 137<br />本章總結(jié) 138<br />編程練習(xí) 138<br />第5章 循環(huán)結(jié)構(gòu) 149<br />5.1 概述 149<br />5.2 while循環(huán) 150<br />5.3 案例研究:猜數(shù)游戲 152<br />5.4 循環(huán)設(shè)計策略 155<br />5.5 使用用戶確認(rèn)和哨兵值控制循環(huán) 157<br />5.6 for循環(huán) 159<br />5.7 嵌套循環(huán) 160<br />5.8 最小化數(shù)值誤差 161<br />5.9 案例研究 162<br />5.9.1 問題:尋找最大公約數(shù) 162<br />5.9.2 問題:預(yù)測未來學(xué)費(fèi) 164<br />5.9.3 問題:將十進(jìn)制轉(zhuǎn)換為十六<br />進(jìn)制 165<br />5.10 關(guān)鍵字break和continue 166<br />5.11 案例研究:測試回文 168<br />5.12 案例研究:顯示素數(shù) 170<br />5.13 案例研究:隨機(jī)游走 172<br />關(guān)鍵術(shù)語 174<br />本章總結(jié) 174<br />編程練習(xí) 174<br />第6章 函數(shù) 189<br />6.1 概述 189<br />6.2 定義函數(shù) 190<br />6.3 調(diào)用函數(shù) 191<br />6.4 返回值的函數(shù)和不返回值的函數(shù) 194<br />6.5 位置參數(shù)和關(guān)鍵字參數(shù) 196<br />6.6 按引用值傳遞參數(shù) 197<br />6.7 模塊化編碼 198<br />6.8 變量的作用域 201<br />6.9 默認(rèn)參數(shù) 203<br />6.10 返回多個值 204<br />6.11 案例研究:隨機(jī)生成ASCII字符 205<br />6.12 案例研究:十六進(jìn)制轉(zhuǎn)換為<br />十進(jìn)制 206<br />6.13 案例研究:函數(shù)抽象和逐<br />步求精 208<br />6.13.1 自頂向下的設(shè)計方法 209<br />6.13.2 自頂向下和/或自底向上的<br />實(shí)現(xiàn)方法 211<br />6.13.3 實(shí)現(xiàn)細(xì)節(jié) 211<br />6.13.4 逐步求精的優(yōu)越性 214<br />6.14 案例研究:可重用的圖形<br />函數(shù) 214<br />關(guān)鍵術(shù)語 217<br />本章總結(jié) 217<br />編程練習(xí) 218<br />第7章 列表 235<br />7.1 概述 235<br />7.2 列表基礎(chǔ) 236<br />7.2.1 列表是一個序列 236<br />7.2.2 列表的函數(shù) 237<br />7.2.3 索引運(yùn)算符 237<br />7.2.4 列表切片 238<br />7.2.5 運(yùn)算符+、+=、*和in/<br />not in 239<br />7.2.6 使用for循環(huán)遍歷列表元素 239<br />7.2.7 比較列表 240<br />7.2.8 列表解析 240<br />7.2.9 列表對象的方法 241<br />7.2.10 將字符串拆分為列表 242<br />7.2.11 輸入列表 242<br />7.2.12 列表中數(shù)據(jù)的偏移 243<br />7.2.13 使用列表簡化編碼 243<br />7.2.14 Python統(tǒng)計函數(shù) 243<br />7.3 案例研究:分析數(shù)值 244<br />7.4 案例研究:一副撲克牌 245<br />7.5 復(fù)制列表 247<br />7.6 將列表傳遞給函數(shù) 248<br />7.7 從函數(shù)中返回列表 250<br />7.8 案例研究:統(tǒng)計每個字母出現(xiàn)<br />的次數(shù) 251<br />7.9 列表查找 253<br />7.9.1 線性查找方法 253<br />7.9.2 二分查找方法 254<br />7.10 列表排序 257<br />關(guān)鍵術(shù)語 258<br />本章總結(jié) 258<br />編程練習(xí) 259<br />第8章 多維列表 272<br />8.1 概述 272<br />8.2 處理二維列表 273<br />8.2.1 使用輸入值初始化列表 273<br />8.2.2 使用隨機(jī)值初始化列表 273<br />8.2.3 打印列表 273<br />8.2.4 計算所有元素之和 274<br />8.2.5 按列計算元素之和 274<br />8.2.6 查找元素之和最大的行 274<br />8.2.7 隨機(jī)混排 274<br />8.2.8 排序 275<br />8.3 將二維列表傳遞給函數(shù) 275<br />8.4 問題:對單項選擇題進(jìn)行評分 276<br />8.5 問題:尋找距離最近的點(diǎn)對 277<br />8.6 問題:數(shù)獨(dú)游戲 280<br />8.7 多維列表 284<br />8.7.1 案例研究:每日溫度和濕度 284<br />8.7.2 案例研究:猜測生日 286<br />關(guān)鍵術(shù)語 287<br />本章總結(jié) 287<br />編程練習(xí) 288<br />第9章 對象和類 308<br />9.1?概述 308<br />9.2?定義對象的類 308<br />9.2.1?定義類 309<br />9.2.2?構(gòu)造對象 310<br />9.2.3?訪問對象成員 311<br />9.2.4?self參數(shù) 312<br />9.2.5?示例:使用類 313<br />9.2.6?對象與變量以及復(fù)制對象 314<br />9.3?UML類設(shè)計 314<br />9.4?使用Python庫中的類:datetime<br />類 317<br />9.5?不可變對象與可變對象 318<br />9.6?隱藏數(shù)據(jù)字段 320<br />9.7?類的抽象和封裝 321<br />9.8?面向?qū)ο蟮某绦蛟O(shè)計思維 325<br />9.9?運(yùn)算符重載和特殊方法 327<br />9.10?案例研究:Rational類 329<br />關(guān)鍵術(shù)語 333<br />本章總結(jié) 333<br />編程練習(xí) 334<br />第10章 基于Tkinter的GUI編程<br />基礎(chǔ) 345<br />10.1 概述 345<br />10.2 Tkinter入門 345<br />10.3 處理事件 346<br />10.4 組件類 348<br />10.5 Canvas 353<br />10.6 幾何圖形管理器 356<br />10.6.1 grid 356<br />10.6.2 pack 357<br />10.6.3 place 358<br />10.7 案例研究:貸款計算器 359<br />10.8 案例研究:數(shù)獨(dú)GUI 360<br />10.9 顯示圖像 362<br />10.10 案例研究:撲克牌GUI 364<br />關(guān)鍵術(shù)語 365<br />本章總結(jié) 365<br />編程練習(xí) 365<br />第11章 基于Tkinter的GUI高級<br />編程 373<br />11.1 概述 373<br />11.2 組合框 373<br />11.3 菜單 375<br />11.4 彈出菜單 377<br />11.5 鼠標(biāo)事件、鍵盤事件和事件<br />綁定 378<br />11.6 案例研究:查找距離最近的<br />點(diǎn)對 382<br />11.7 動畫 383<br />11.8 案例研究:彈跳的小球 386<br />11.9 滾動條 389<br />11.10 標(biāo)準(zhǔn)對話框 390<br />關(guān)鍵術(shù)語 391<br />本章總結(jié) 391<br />編程練習(xí) 392<br />第12章 繼承和多態(tài)性 399<br />12.1 概述 399<br />12.2 超類和子類 399<br />12.3 重寫方法 404<br />12.4 object類 405<br />12.5 多態(tài)性和動態(tài)綁定 406<br />12.6 isins?tance函數(shù) 408<br />12.7 案例研究:可重用的時鐘 410<br />12.8 類關(guān)系 414<br />12.8.1 關(guān)聯(lián) 414<br />12.8.2 聚合和組合 416<br />12.9 案例研究:設(shè)計Course類 417<br />12.10 案例研究:設(shè)計一個用于<br />棧的類 419<br />12.11 案例研究:FigureCanvas<br />類 421<br />關(guān)鍵術(shù)語 424<br />本章總結(jié) 424<br />編程練習(xí) 424<br />第13章 文件和異常處理 437<br />13.1 概述 437<br />13.2 文本輸入和輸出 438<br />13.2.1 打開一個文件 438<br />13.2.2 寫入數(shù)據(jù) 439<br />13.2.3 測試一個文件的存在性 441<br />13.2.4 讀取數(shù)據(jù) 441<br />13.2.5 從文件中讀取海量數(shù)據(jù) 444<br />13.2.6 附加數(shù)據(jù) 446<br />13.2.7 數(shù)值數(shù)據(jù)的寫入和讀取 447<br />13.3 文件對話框 447<br />13.4 案例研究:統(tǒng)計一個文件中的<br />字符數(shù) 451<br />13.5 從網(wǎng)上讀取數(shù)據(jù) 452<br />13.6 異常處理 453<br />13.7 拋出異常 456<br />13.8 使用異常類處理異常 459<br />13.9 定義自定義異常類 460<br />13.10 案例研究:網(wǎng)絡(luò)爬蟲 462<br />13.11 使用pickle執(zhí)行二進(jìn)制輸入<br />和輸出 464<br />13.11.1 轉(zhuǎn)儲和加載對象 465<br />13.11.2 檢測文件末尾 465<br />13.12 案例研究:地址簿 467<br />關(guān)鍵術(shù)語 470<br />本章總結(jié) 470<br />編程練習(xí) 470<br />第14章 元組、集合和字典 475<br />14.1 概述 475<br />14.2 元組 476<br />14.3 集合 478<br />14.3.1 創(chuàng)建集合 478<br />14.3.2 操作和訪問集合 479<br />14.3.3 子集和超集 479<br />14.3.4 相等性測試 480<br />14.3.5 集合操作 480<br />14.4 比較集合和列表的性能 482<br />14.5 案例研究:統(tǒng)計關(guān)鍵字 484<br />14.6 字典 485<br />14.6.1 創(chuàng)建字典 485<br />14.6.2 添加、修改和檢索值 486<br />14.6.3 刪除字典中的數(shù)據(jù)項 487<br />14.6.4 遍歷字典的數(shù)據(jù)項 487<br />14.6.5 len、max和min函數(shù) 487<br />14.6.6 測試鍵是否位于字典中 487<br />14.6.7 相等性測試 488<br />14.6.8 字典對象的方法 488<br />14.7 案例研究:單詞出現(xiàn)的次數(shù) 489<br />關(guān)鍵術(shù)語 491<br />本章總結(jié) 491<br />編程練習(xí) 491<br />附錄A Python關(guān)鍵字 496<br />附錄B ASCII字符集 497<br />附錄C 數(shù)制系統(tǒng) 498<br />附錄D 命令行參數(shù) 503<br />附錄E 正則表達(dá)式 506<br />附錄F 位運(yùn)算操作 512<br />附錄G 大O表示法、大Ω表示法和<br />大Θ表示法 513<br />附錄H 運(yùn)算符的優(yōu)先順序表 514
| 基本信息 | |
|---|---|
| 出版社 | 機(jī)械工業(yè)出版社 |
| ISBN | 9787111792529 |
| 條碼 | 9787111792529 |
| 編者 | [美]梁勇(Y. Daniel Liang) 著 |
| 譯者 | 江紅,余青松,余靖 |
| 出版年月 | 2025-10-01 00:00:00.0 |
| 開本 | 16開 |
| 裝幀 | 平裝 |
| 頁數(shù) | 516 |
| 字?jǐn)?shù) | 842 |
| 版次 | 1 |
| 印次 | 1 |
| 紙張 | 一般膠版紙 |
暫無商品評論信息 [發(fā)表商品評論]
暫無商品咨詢信息 [發(fā)表商品咨詢]