TOP
經典不再等待!讀懂羅馬人的強大,開啟你的智力冒險
Python程序設計基礎(原書第5版)(簡體書)
滿額折

Python程序設計基礎(原書第5版)(簡體書)

商品資訊

人民幣定價:139 元
定價
:NT$ 834 元
優惠價
87726
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點 :21 點
商品簡介
作者簡介
名人推薦
目次

商品簡介

本書詳盡而系統地介紹了Python語言程序設計的方方面面,通過大量的示例、偽代碼、流程圖和其他工具,使讀者更容易學習程序設計邏輯。本書清晰、簡明、友好的表述風格,可以讓讀者輕鬆掌握Python程序設計理論,快速投入實際開發中。

作者簡介

托尼•加迪斯(Tony Gaddis)在北卡羅來納州的海伍德社區學院講授“計算機程序設計語言”“作業系統”和“物理”課程。他在1994年被評為北卡羅來納社區學院的“年度佳教師”,並在1997年獲得“教學卓越獎”。Tony也提供對公司和機構(包括NASA的甘迺迪航太中心)的培訓。他著有《Starting Out with C++》和《Starting Out with Java》,並與人合著了《Starting Out with Visual Basic 2005》等。

名人推薦

本書詳盡而系統地介紹了Python語言程序設計的方方面面,通過大量的示例、偽代碼、流程圖和其他工具,使讀者更容易學習程序設計邏輯。本書清晰、簡明、友好的表述風格,可以讓讀者輕鬆掌握Python程序設計理論,快速投入到實際開發中。

本書特色
清晰、友好、易於理解的表達:簡明而有效的程序設計理論講解,循序而善誘。
豐富而簡明實用的樣例程式:包括突出特定程序設計主題的簡短示例, 以及更深入解決問題的程式。
每章提供一個或多個案例研究:提供一個具體問題的逐步分析, 並展示如何解決它。

第5版新增內容
增加了有關資料庫程序設計的新章節(第14章)。
解釋了清單解析、字典解析和集合解析。
增加了新的字串知識,包括f字串、字串權杖、相鄰字串的隱式連接,以及讀取和解析CSV檔的新示例。
增加了新的GUI程序設計知識,包括為控制項添加邊框、內部和外部填充、清單方塊控制項和捲軸等。
針對龜圖增加了用於讀取帶有對話方塊的用戶輸入的兩個命令。
引入了隨機選擇清單元素的相關函數。
增加了新函數知識,包括對pass關鍵字、None值的討論等。

本書面向程序設計零基礎的初學者,使用Python語言來講授程序設計概念和解決問題的方法。通過易於理解的示例、偽代碼、流程圖和其他工具,學生可以學習如何設計程式的邏輯,以及如何使用Python實現程式。本書是非常理想的程序設計入門課程的教材,也適合作為以Python為語言的程序設計邏輯與設計課程的教材。
本書的特點是其清晰、友好、易於理解的描述。此外,它有著豐富而簡明實用的示例程式,包括突出特定程序設計主題的簡短示例,以及解決更深入問題的程式。每章提供一個或多個案例研究,對具體問題進行逐步分析,並展示如何解決它。
先控制結構,然後類
Python是一種完全物件導向的程序設計語言,但是讀者不必在開始程序設計時就去理解物件導向的概念。本書首先介紹資料存儲、輸入和輸出、控制結構、函數、序列和清單、檔I/O以及從標準類庫中創建物件等基礎知識,然後介紹如何編寫類,探索繼承和多態性,並學習編寫遞迴函數。最後介紹如何開發簡單的事件驅動的GUI應用程式。
第5版的變化
本書清晰的寫作風格和以前的版本一樣。然而,本版也做了許多補充和改進,總結如下:
資料庫程序設計—增加了有關資料庫程序設計的新章節(第14章),介紹SQL和SQLite上的Python資料庫程序設計。
解析運算式—解釋了清單解析、字典解析和集合解析。
更新的字串知識—添加了新的字串知識,包括:
使用Python 36引入的f-string來顯示格式化輸出。f-string使用簡潔直觀的語法,比format函數更容易學習。format函數的材料已移至附錄F。
第8章增加了對字串token的討論。
第8章添加了讀取和解析CSV文件的新示例。
擴展了第2章中對字元串連接的討論,包含了相鄰字串的隱式連接。
GUI程序設計—第13章添加了新的GUI程序設計知識,包括:
為控制項添加邊框。
內部和外部填充。
清單方塊控制項和捲軸。
龜圖—引入了用於讀取帶有對話方塊的用戶輸入的兩個命令:
turtlenuminput。
turtletextinput。
隨機選擇清單元素—在第7章引入了randomchoice()函數,用於隨機選擇清單元素。
新函數知識—第5章添加了一些新知識,包括:
引入了pass關鍵字。
擴展了對None值的討論,解釋了為什麼函數可能返回None。
採用了有條件執行main函數的標準做法。
各章概覽
第1章:計算機與程序設計
本章首先對計算機的工作方式、資料的存儲和操作方式以及使用高階語言編寫程式的原因進行非常具體且易於理解的解釋。本章還介紹了Python、交互模式、腳本模式和IDLE。
第2章:輸入、處理與輸出
本章介紹程式的開發週期、變數、資料類型和使用順序結構編寫的簡單程式。學生可以學習如何編寫簡單的程式:從鍵盤讀取輸入、執行數學運算並輸出到螢幕上。本章還對虛擬碼和流程圖等設計程式的工具進行了介紹。本章最後介紹了機器龜圖形庫。
第3章:選擇結構與布林邏輯
本章介紹關係運算子和布林運算式,並展示如何使用選擇結構控制程式流程,涉及if、if-else和if-elif-else語句,還討論了嵌套選擇結構和邏輯運算子。本章最後討論了如何使用選擇結構測試機器龜的狀態。
第4章:迴圈結構
本章展示如何使用while迴圈和for迴圈創建迴圈結構,討論了計數器、累加器和標記,以及編寫輸入驗證迴圈的技術。本章最後介紹了如何使用迴圈和機器龜圖形庫進行繪圖設計。
第5章:函數
本章首先介紹如何編寫和調用void函數,展示了使用函數對程式進行模組化的好處,並討論了自頂向下的設計方法。然後,介紹如何將參數傳遞給函數,討論了常見的庫函數,如生成亂數的函數。在學習了如何調用庫函數並使用其返回值之後,講解如何定義和調用自己的函數。接下來介紹如何使用模組來組織函數。本章最後討論了如何使用函數模組化機器龜圖形庫代碼。
第6章:檔和異常
本章介紹順序檔的輸入和輸出,學習如何讀取和寫入大量資料,並將資料存儲為欄位和記錄。本章最後討論異常,並演示了如何編寫異常處理的代碼。
第7章:列表和元組
本章介紹Python中序列的概念,探討兩種常見Python序列—列表和元組的使用,學習使用清單進行類似陣列的操作,例如在清單中存儲物件、遍歷清單、搜索清單中的元素以及計算清單中元素的總和和平均值。本章討論了列表解析運算式、切片和許多列表方法,涉及一維和二維列表。本章還包括對matplotlib包的討論,以及如何使用它根據清單繪製圖表。
第8章:深入字串
本章介紹如何更加細緻地處理字串,討論遍歷字串中各個字元的字串切片和算法,並介紹用於字元、文本處理的內置函數和字串方法。本章還包括token化字串和解析CSV檔的示例。
第9章:字典和集合
本章介紹字典和集合資料結構,學習將資料存儲為字典中的鍵值對、檢索值、更改現有值、添加新鍵值對、刪除鍵值對以及編寫字典解析。接下來討論如何將值存儲為集合中的唯一元素,並執行常見的集合操作,例如並集、交集、差集和對稱差集,還討論了集合解析。最後對物件序列化進行了討論,並介紹了Python pickle模組。
第10章:類與物件導向程序設計
本章比較面向過程和物件導向的程序設計實踐,涵蓋了類和物件的基本概念,並討論了屬性、方法、封裝和資料隱藏、_?_init_?_函數(類似於構造函數)、訪問器、賦值器,學習如何使用UML對類進行建模,以及如何在特定問題中查找類。
第11章:繼承
本章繼續學習繼承和多態,所涉及的主題包括超類、子類以及_?_init_?_函數在繼承、方法覆蓋和多態中的工作方式。
第12章:遞迴
本章討論遞迴及其在問題求解中的應用,給出了遞迴呼叫的可視化跟蹤和遞迴應用,展示了許多工的遞迴算法,例如查找因數、求最大公約數、對列表中的一系列值求和,並給出了經典漢諾塔的例子。
第13章:GUI程序設計
本章討論使用Python的tkinter模組設計GUI應用程式的基本方法,包括標籤、按鈕、輸入域、選項按鈕、核取方塊、清單方塊和對話方塊等基本控制項,還學習了GUI應用程式中事件的工作方式以及如何編寫回呼函數來處理事件。本章包括對Canvas控制項的討論,以及如何使用它來繪製直線、矩形、橢圓、弧、多邊形和文本。
第14章:資料庫程序設計
本章介紹資料庫程序設計。首先介紹資料庫的基本概念,如表、行、主鍵等。然後學習使用SQLite在Python中連接資料庫。接下來介紹SQL以及如何執行查詢和語句來搜索行、添加新行、更新現有行和刪除行。最後演示CRUD應用程式,討論了關係資料。
附錄A:Python安裝
本附錄解釋如何下載和安裝Python最新版。
附錄B:IDLE簡介
本附錄概述Python附帶的IDLE整合式開發環境。
附錄C:ASCII字元集
作為參考,本附錄列出了ASCII字元集。
附錄D:預定義顏色
本附錄列出了可與機器龜圖形庫、matplotlib和tkinter一起使用的預定義顏色名稱。
附錄E:import語句詳解
本附錄討論使用import語句的各種方法。例如,可以使用import語句導入模組、類、函數或為模組分配別名。
附錄F:使用format()函數格式化數值輸出
本附錄討論format()函數,展示了如何使用其格式說明符來控制數值的顯示方式。
附錄G:使用pip工具安裝模組
本附錄討論如何使用pip實用工具從Python包索引(PyPI)安裝協力廠商模組。
附錄H:檢查點參考答案
本附錄給出了正文中出現的檢查點問題的答案。
本書的組織
本書以循序漸進的方式講授程序設計。每一章都包含一組主題,既可以很容易地按照現在的章節順序進行講授,也可以有一定的靈活性,從而按照希望的順序進行教學安排。圖P-1顯示了章節之間的依賴關係,箭頭指明講授某章節之前必須覆蓋的章節。

圖P-1 章節依賴關係
本書特點
概念 每個主要節都從概念開始。
示例程式 每章都有大量完整和部分的示例程式,旨在突出當前主題。
聚光燈 每章都有一個或多個聚光燈案例研究,提供詳細的、循序漸進的問題分析,並展示如何解決它們。
注 貫穿全書,對有趣的或經常被誤解的上下文相關的主題進行簡短的解釋。
提示 提供解決不同程序設計問題的最佳技術。
警告 提醒學生注意可能導致程式出現錯誤或資料丟失的程序設計技術或實踐。
檢查點 貫穿全書,在學習新主題後快速檢查學生的掌握情況。
複習題 位於每章末,包括多項選擇題、判斷題、算法工作室、簡答題和程序設計題。
補充材料
學生在線資源
以下資源可在wwwpearsonhigheredcom/cs-resources上找到:
每個示例程式的原始程式碼
本書的配套視頻注釋
教師資源
所有複習題的答案
PPT
測試題庫
掃描二維碼可獲得的中文材料
本書採用一書一碼的方式,即一本書對應一個專有的二維碼(見本書前面的襯紙)。掃描二維碼獲取閱讀許可權後,可流覽以下電子資料資源。
第11章 繼承
第12章 遞迴
第13章 GUI程序設計
第14章 資料庫程序設計
附錄A Python安裝
附錄B IDLE簡介
附錄C ASCII字元集
附錄D 預定義顏色
附錄E import語句詳解
附錄F 使用format()函數格式化數值輸出
附錄G 使用pip工具安裝模組
附錄H 檢查點參考答案
未來我們還可能通過該二維碼提供更多的增值服務,例如習題答案、教師的授課視頻等。
致謝
感謝下列評審人員的專業建議:

感謝海伍德社區學院的教職員工和管理人員,感謝他們讓我有機會教授我所熱愛的學科。還要感謝家人和朋友對我所有項目的支持。
本書能被培生出版是我莫大的榮幸,非常幸運有Tracy Johnson作為我的編輯和內容經理。她和她的同事Holly Stark、Erin Sullivan、Alicia Wilson、Scott Disanno、Carole Snyder、Bob Engelhardt、Aishwarya Panday不知疲倦地製作和推廣這本書。謝謝大家!

目次

譯者序
前言
第1章 計算機與程序設計 1
11 簡介 1
12 硬體和軟件 2
121 硬體 2
122 軟件 4
13 計算機如何存儲資料 5
131 存儲數字 6
132 存儲字元 7
133 高級數字存儲 8
134 其他類型的資料 8
14 程式如何工作 9
141 從機器語言到組合語言 11
142 高階語言 11
143 關鍵字、操作符和語法概述 12
144 編譯器和解譯器 13
15 使用Python 14
151 安裝Python 14
152 Python解譯器 14
153 交互模式 15
154 在腳本模式下編寫和運行Python程式 16
155 IDLE程序設計環境 16
複習題 17
第2章 輸入、處理與輸出 20
21 設計一個程式 20
211 程式開發週期 20
212 設計過程中的更多技術細節 21
213 理解程式要完成的任務 21
214 確定為完成任務所需採取的步驟 21
215 虛擬碼 22
216 流程圖 22
22 輸入、處理與輸出 23
23 用print函數顯示輸出 24
24 注釋 26
25 變數 27
251 用設定陳述式創建變數 27
252 變數命名規則 29
253 用print函數顯示多項內容 30
254 變數再賦值 31
255 數值資料類型和數值文本 31
256 用資料類型str來存儲字串 33
257 將一個變數重新賦值為不同的類型 33
26 從鍵盤讀取輸入 34
27 執行計算 37
271 浮點數除法與整數除法 40
272 運算子的優先順序 40
273 用圓括號將運算分組 41
274 指數運算子 43
275 求餘運算子 43
276 將數學公式轉換成程式語句 44
277 混合資料類型的運算式與資料類型轉換 46
278 長語句拆分成多行 47
28 字元串連接 48
29 關於print函數的更多介紹 49
291 抑制print函數的換行功能 49
292 指定一個輸出項分隔符號 50
293 轉義字元 50
210 用f-string顯示格式化輸出 52
2101 預留位置運算式 52
2102 格式化數值 53
2103 舍入浮點數 53
2104 插入逗號分隔符號 54
2105 格式化浮點數為百分數形式 55
2106 科學記數法形式的格式化 55
2107 格式化整數 55
2108 指定最小域寬 56
2109 數值對齊 57
21010 指示符的順序 58
21011 用f-string連接 58
211 有名常量 60
212 機器龜圖形庫簡介 61
2121 使用機器龜來畫線 62
2122 機器龜的轉向 62
2123 將機器龜的朝向設置為特定的角度 63
2124 獲取機器龜的當前朝向 64
2125 畫筆的抬起和放下 64
2126 繪製圓和點 65
2127 修改畫筆的寬度 66
2128 改變畫筆的顏色 66
2129 修改背景的顏色 66
21210 重新設置螢幕 66
21211 指定圖形窗口的大小 67
21212 移動機器龜到指定的位置 67
21213 獲取機器龜的當前位置 68
21214 控制機器龜的動畫速度 68
21215 隱藏機器龜 68
21216 在圖形窗口中顯示文本 69
21217 圖形填充 69
21218 用對話方塊獲取輸入 71
21219 用turtletextinput命令獲取字串輸入 72
21220 用turtledone()語句保持圖形窗口的開放狀態 73
複習題 79
第3章 選擇結構與布林邏輯 85
31 if語句 85
311 布林運算式與關係運算子 86
312 綜合應用 88
32 if-else語句 91
33 字串比較 94
34 嵌套的選擇結構與if-elif-else語句 97
341 測試一組條件 100
342 if-elif-else語句 102
35 邏輯運算子 103
351 運算子and 104
352 運算子or 105
353 短路求值 105
354 運算子not 105
355 再次分析判定貸款資格的程式 106
356 另一個判定貸款資格的程式 107
357 用邏輯運算子檢查資料範圍 108
36 布林變數 109
37 機器龜圖形庫:判斷機器龜的狀態 110
371 獲取機器龜的位置 110
372 獲取機器龜的朝向 110
373 檢測畫筆是否被放下 110
374 判斷機器龜是否可見 111
375 獲取使用中色彩 111
376 獲取畫筆的線寬 112
377 獲取機器龜的動畫速度 112
複習題 117
第4章 迴圈結構 124
41 迴圈結構簡介 124
42 while迴圈:條件控制的迴圈 125
421 while迴圈是先測試的迴圈 127
422 無限迴圈 129
43 for迴圈:計數控制的迴圈 130
431 在for迴圈中使用range函數 132
432 在迴圈內部使用目標變數 133
433 讓用戶控制迴圈反覆運算 136
434 生成一個從大到小遞減的資料序列 138
44 計算累加和 138
45 標記 141

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 726
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區