學習Python(第6版) Starting Out with Python, 6/e

[美]托尼·加迪斯(Tony Gaddis)著 周靖 譯

  • 出版商: 清華大學
  • 出版日期: 2024-05-01
  • 售價: $1,188
  • 貴賓價: 9.5$1,129
  • 語言: 簡體中文
  • ISBN: 7302657416
  • ISBN-13: 9787302657415
  • 立即出貨 (庫存=1)

  • 學習Python(第6版)-preview-1
  • 學習Python(第6版)-preview-2
  • 學習Python(第6版)-preview-3
學習Python(第6版)-preview-1

買這商品的人也買了...

相關主題

商品描述

《學習Python(第6版)》深入淺出地討論了大部分Python 編程主題。利用從本書中學到的Python 知識,讀者可以掌握高質量軟件研發背後的邏輯。書中採用一種易懂的、循序漸進的方法來介紹基本的編程概念,先從控制結構、函數和列表等概念開始,再深入討論類。這有助於確保讀者理解基本的編程概念,並知道如何解決現實中的問題。書中每一章都包括清晰美觀的代碼清單、真實世界的例子和大量練習。 《學習Python(第6版)》針對Python 3.11 進行了全面更新,新增或改進了大量主題,尤其適合想要高效掌握Python 新特性的讀者。

目錄大綱

第1 章 電腦和編程概述    1

1.1 概述       1

1.2 硬件和軟件     2

1.2.1 硬件          2

1.2.2 中央處理器          3

1.2.3 主存          3

1.2.4 輔助存儲設備      4

1.2.5 輸入設備        5

1.2.6 輸出設備        5

1.2.7 軟件          5

檢查點          6

1.3 電腦如何存儲數據      6

1.3.1 存儲數字        7

1.3.2 存儲字符        8

1.3.3 高級數字存儲      9

1.3.4 其他類型的數據         9

檢查點        10

1.4 程序如何工作     10

1.4.1 從機器語言到匯編語言   12

1.4.2 高級語言      13

1.4.3 關鍵字、操作符和語法:概述     14

1.4.4 編譯器和解釋器       15

檢查點        17

1.5 使用Python         17

1.5.1 安裝Python        17

1.5.2 Python 解釋器       17

1.5.3 IDLE 編程環境         20

復習題       21

第2 章 輸入、處理和輸出       25

2.1 設計程序       25

2.1.1 程序開發周期       25

2.1.2 關於設計過程的更多說明     26

2.1.3 偽代碼          27

2.1.4 流程圖          28

檢查點        28

2.2 輸入、處理和輸出        28

2.3 用print 函數顯示輸出       29

檢查點        31

2.4 註釋         31

2.5 變量         32

2.5.1 用賦值語句創建變量       33

2.5.2 多重賦值      35

2.5.3 變量命名規則       35

2.5.4 用print 函數顯示多項內容   37

2.5.5 變量重新賦值       37

2.5.6 數值數據類型和字面值   38

2.5.7 用str 數據類型存儲字符串   39

2.5.8 讓變量引用不同數據類型     40

檢查點        40

2.6 從鍵盤讀取輸入        41

檢查點        44

2.7 執行計算       45

2.7.1 浮點和整數除法       47

2.7.2 操作符優先級       48

2.7.3 用圓括號分組       49

2.7.4 求冪操作符        50

2.7.5 求餘操作符        51

2.7.6 將數學公式轉換為編程語句       52

2.7.7 混合類型的表達式和數據類型轉換      54

2.7.8 將長語句拆分為多行       55

檢查點        56

2.8 字符串連接         56

檢查點        57

2.9 print 函數進階知識        58

2.9.1 阻止print 函數的換行功能   58

2.9.2 指定分隔符        58

2.9.3 轉義序列      59

檢查點        60

2.10 用f 字符串格式化輸出         60

2.10.1 占位符表達式         61

2.10.2 格式化值          61

2.10.3 浮點數四捨五入     62

2.10.4 插入逗號分隔符     63

2.10.5 將浮點數格式化為百分比   64

2.10.6 用科學計數法格式化     64

2.10.7 格式化整數      64

2.10.8 指定最小域寬         65

2.10.9 值的對齊          66

2.10.10 指示符的順序       68

2.10.11 連接f 字符串        68

檢查點        69

2.11 具名常量      70

檢查點        71

2.12 海龜圖形概述          71

2.12.1 使用海龜圖形來畫線     71

2.12.2 海龜轉向          72

2.12.3 使海龜朝向指定角度     74

2.12.4 獲取海龜的當前朝向     75

2.12.5 畫筆抬起和放下     75

2.12.6 畫圓和畫點      76

2.12.7 更改畫筆大小         76

2.12.8 更改畫筆顏色         77

2.12.9 更改背景顏色         77

2.12.10 重置屏幕        77

2.12.11 指定圖形窗口的大小   77

2.12.12 獲取海龜的當前位置   78

2.12.13 控制海龜動畫的速度   78

2.12.14 隱藏海龜        79

2.12.15 將海龜移到指定位置   79

2.12.16 在圖形窗口中顯示文本     80

2.12.17 填充形狀        81

2.12.18 從對話框獲取輸入       83

2.12.19 使用turtle.textinput 命令獲取字符串輸入          85

2.12.20 使用turtle.done() 使圖形窗口保持打開狀態        86

檢查點        93

復習題       94

編程練習          97

第3 章 判斷結構和布爾邏輯      101

3.1 if 語句          101

3.1.1 布爾表達式和關系操作符   102

3.1.2 操作符>= 和<=     104

3.1.3 操作符==        104

3.1.4 操作符!=         105

3.1.5 綜合運用          105

3.1.6 單行if 語句      107

檢查點      108

3.2 if-else 語句        108

檢查點      111

3.3 比較字符串        111

檢查點      114

3.4 嵌套判斷結構和if-elif-else 語句     115

3.4.1 測試一系列條件     118

3.4.2 if-elif-else 語句       120

檢查點      121

3.5 邏輯操作符        122

3.5.1 操作符and       122

3.5.2 操作符or          123

3.5.3 短路求值          123

3.5.4 操作符not        123

3.5.5 修訂貸款資格判斷程序       124

3.5.6 另一個貸款資格判斷程序   125

3.5.7 用邏輯操作符檢查數字範圍     126

檢查點      127

3.6 布爾變量     128

檢查點      128

3.7 條件表達式        128

3.8 賦值表達式和海象操作符     130

3.9 海龜圖形:判斷海龜的狀態       131

3.9.1 判斷海龜位置         132

3.9.2 判斷海龜朝向         132

3.9.3 判斷筆是否放下     132

3.9.4 判斷海龜是否可見     133

3.9.5 判斷當前顏色         133

3.9.6 判斷畫筆大小         134

3.9.7 判斷海龜的動畫速度     134

檢查點      138

復習題     139

編程練習        141

第4 章 循環結構        147

4.1 循環結構簡介          147

檢查點      148

4.2 while 循環:條件控制循環         148

4.2.1 while 循環是預測試循環     152

4.2.2 無限循環          153

4.2.3 while 循環用作計數控制循環   154

4.2.4 單行while 循環      157

檢查點      158

4.3 for 循環:計數控制循環       158

4.3.1 為for 循環使用range 函數       160

4.3.2 在循環內使用目標變量       162

4.3.3 讓用戶控制循環迭代     165

4.3.4 生成降序可迭代序列     167

檢查點      167

4.4 計算累加和       168

檢查點      171

4.5 哨兵值         171

檢查點      173

4.6 輸入校驗循環          173

檢查點      177

4.7 嵌套循環     178

4.8 循環語句break,continue 和else      184

4.8.1 break 語句        184

4.8.2 continue 語句          186

4.8.3 在循環中使用else 子句       187

4.9 海龜圖形:用循環來畫圖    188

復習題     192

編程練習        193

第5 章 函數          197

5.1 函數簡介     197

5.1.1 用函數將程序模塊化的好處     198

5.1.2 void 函數和返回值的函數   199

檢查點      199

5.2 定義和調用void 函數     199

5.2.1 函數名        199

5.2 2 定義和調用函數     200

5.2.3 調用函數          200

5.2.4 Python 的縮進         203

檢查點      203

5.3 使用函數來設計程序       204

5.3.1 使用了函數的程序的流程圖     204

5.3.2 自上而下設計         204

5.3.3 層次結構圖      205

5.3.4 暫停執行直到用戶按Enter 鍵     208

5.3.5 使用pass 關鍵字        208

5.4 局部變量     209

檢查點      211

5.5 向函數傳遞實參       211

5.5.1 形參變量的作用域     213

5.5.2 傳遞多個實參         214

5.5.3 修改形參          216

5.5.4 關鍵字參數      217

5.5.5 混合使用關鍵字實參和位置實參    219

5.5.6 僅關鍵字參數         219

5.5.7 僅位置參數      220

5.5.8 默認實參          220

檢查點      223

5.6 全局變量和全局常量       224

檢查點      227

5.7 返回值的函數:生成隨機數       227

5.7.1 標準庫函數和import 語句        227

5.7.2 生成隨機數      228

5.7.3 從f 字符串中調用函數        231

5.7.4 在交互模式下嘗試使用隨機數        231

5.7.5 函數randrange、random 和uniform    234

5.7.6 隨機數種子      235

檢查點      236

5.8 自定義返回值的函數       236

5.8.1 更高效地利用return 語句   238

5.8.2 使用返回值的函數     239

5.8.3 使用IPO 圖      240

5.8.4 返回字符串      245

5.8.5 返回布爾值      245

5.8.6 在校驗代碼中使用布爾函數     246

5.8.7 返回多個值      247

5.8.8 從函數返回None       247

檢查點      249

5.9 math 模塊           249

檢查點      251

5.10 將函數存儲到模塊中    252

5.11 海龜圖形:使用函數將代碼模塊化    257

復習題     264

編程練習        267

第6 章 文件和異常        273

6.1 文件輸入和輸出簡介      273

6.1.1 文件類型          275

6.1.2 文件訪問方法         275

6.1.3 文件名和文件對象     275

6.1.4 打開文件          276

6.1.5 指定文件位置         277

6.1.6 向文件寫入數據     277

6.1.7 從文件讀取數據     279

6.1.8 將換行符連接到字符串       282

6.1.9 讀取字符串並去掉換行符   283

6.1.10 向現有文件追加數據   284

6.1.11 寫入和讀取數值數據   285

檢查點      288

6.2 使用循環來處理文件      288

6.2.1 使用循環讀取文件並檢測文件尾    289

6.2.2 使用for 循環讀取行      291

檢查點      295

6.3 使用with 語句打開文件       295

6.3.1 資源      295

6.3.2 with 語句          295

6.3.3 用with 語句打開多個文件        297

6.3 處理記錄     298

檢查點      309

6.4 異常       309

6.4.1 處理多個異常         315

6.4.2 用一個except 子句捕獲所有異常    316

6.4.3 顯示異常的默認錯誤消息   317

6.4.4 else 子句     318

6.4.5 finally 子句       320

6.4.6 如果異常未被處理怎麽辦   320

檢查點      320

復習題     321

編程練習        323

第7 章 列表和元組        325

7.1 序列       325

7.2 列表簡介           325

7.2.1 重復操作符     326

7.2.2 使用 for 循環遍歷列表       327

7.2.3 索引     328

7.2.4 len 函數      329

7.2.5 使用for 循環按索引來遍歷列表    329

7.2.6 列表是可變的        330

7.2.7 連接列表         332

檢查點      333

7.3 列表切片     334

檢查點      336

7.4 使用操作符in 查找列表項        336

檢查點      337

7.5 列表方法和有用的內置函數      338

7.5.1 append 方法       338

7.5.2 count 方法       340

7.5.3 index 方法       340

7.5.4 insert 方法       341

7.5.5 sort 方法          342

7.5.6 remove 方法       343

7.5.7 reverse 方法       344

7.5.8 del 語句     344

7.5.9 sum 函數         344

7.5.10 函數min 和max       345

檢查點      345

7.6 復制列表     345

7.7 處理列表           347

7.7.1 累加列表中的數值        348

7.7.2 計算列表中數值的平均值        349

7.7.3 將列表作為實參傳給函數        350

7.7.4 從函數中返回列表        351

7.7.5 隨機選擇列表元素        355

7.7.6 處理列表和文件        356

7.8 列表推導式       358

檢查點      361

7.9 二維列表           361

檢查點      364

7.10 元組           365

7.10.1 將不同的元組賦給變量    366

7.10.2 在元組中存儲可變對象    367

7.10.3 有什麽意義       368

7.10.4 在列表和元組之間轉換    368

檢查點      369

7.11 使用matplotlib 包繪制列表數據    369

7.11.1 導入pyplot 模塊       369

7.11.2 繪制折線圖          370

7.11.3 添加標題、軸標簽和網格      371

7.11.4 自定義X 軸和Y 軸    372

7.11.5 在數據點上顯示標記        376

7.11.6 繪制柱狀圖          378

7.11.7 自定義條柱寬度      379

7.11.8 更改條柱顏色      380

7.11.9 添加標題、坐標軸標簽和自定義

刻度線標簽          381

7.11.10 繪制餅圖     382

7.11.11 顯示切片標簽和標題      383

7.11.12 改變切片顏色        384

檢查點      384

復習題     385

編程練習        388

第8 章 深入字符串        393

8.1 基本字符串操作      393

8.1.1 訪問字符串中的單個字符        393

8.1.2 使用for 循環遍歷字符串    393

8.1.3 索引      396

8.1.4 IndexError 異常     396

8.1.5 len 函數      397

8.1.6 字符串連接      397

8.1.7 字符串是不可變的     398

檢查點      399

8.2 字符串切片       400

檢查點      403

8.3 測試、查找和操作字符串    403

8.3.1 使用操作符in 和not in 測試字符串   403

8.3.2 字符串方法     404

8.3.3 字符串測試方法        404

8.3.4 修改方法         406

8.3.5 查找和替換     408

8.3.6 重復操作符      412

檢查點      418

復習題     420

編程練習        422

第9 章 字典和集合        427

9.1 字典       427

9.1.1 創建字典          427

9.1.2 從字典中檢索值     428

9.1.3 使用操作符in 和not in 來判斷鍵是否存在      429

9.1.4 向現有字典添加元素     429

9.1.5 刪除元素          430

9.1.6 獲取字典中的元素個數       431

9.1.7 在字典中混合不同的數據類型        431

9.1.8 創建空字典      432

9.1.9 使用for 循環遍歷字典        433

9.1.10 一些字典方法       434

9.1.11 字典合並和更新操作符     448

9.1.12 字典推導式       449

9.1.13 在字典推導式中使用if 子句   451

檢查點      452

9.2 集合       453

9.2.1 創建集合          453

9.2.2 獲取集合中的元素數量       454

9.2.3 添加和刪除元素     454

9.2.4 使用for 循環來遍歷集合    456

9.2.5 使用操作符in 和not in 測試集合中的值 457

9.2.6 並集      457

9.2.7 交集      458

9.2.8 差集      458

9.2.9 對稱差集          459

9.2.10 子集和超集       460

9.2.11 集合推導式       463

檢查點      463

9.3 對象序列化       465

檢查點      470

復習題     471

編程練習        475

第10 章 類和麵向對象編程   479

10.1 過程式編程和麵向對象編程    479

10.1.1 對象的可重用性       480

10.1.2 日常生活中的對象       480

檢查點      481

10.2 類         482

10.2.1 類定義      483

10.2.2 隱藏屬性        488

10.2.3 將類存儲到模塊中       491

10.2.4 BankAccount 類        493

10.2.5 __str__ 方法          495

檢查點      498

10.3 操作類的實例        498

10.3.1 取值和賦值方法       503

10.3.2 將對象作為參數傳遞   506

檢查點      519

10.4 類的設計技術        519

10.4.1 統一建模語言(UML)        519

10.4.2 確定解決問題所需的類     520

10.4.3 這只是開始       529

檢查點      529

復習題     530

編程練習        532

第11 章 繼承        537

11.1 繼承簡介          537

11.1.1 泛化和特化       537

11.1.2 繼承和“屬於”關系   537

11.1.3 在UML 圖中表示繼承      545

檢查點      550

11.2 多態性        550

檢查點      556

復習題     557

編程練習        558

第12 章 遞歸       559

12.1 遞歸簡介         559

12.2 用遞歸解決問題        561

12.2.1 使用遞歸來計算階乘   562

檢查點      565

12.3 遞歸算法示例          565

12.3.1 用遞歸對列表元素的一個範圍進行求和          565

12.3.2 斐波那契數列       566

12.3.3 尋找最大公約數       567

12.3.4 漢諾塔      568

12.3.5 遞歸與循環       571

復習題     572

編程練習        574

第13 章 GUI 編程      575

13.1 圖形用戶界面        575

檢查點      576

13.2 使用tkinter 模塊        577

檢查點      580

13.3 使用Label 控件顯示文本         580

13.3.1 為標簽添加邊框       582

13.3.2 填充          583

檢查點      587

13.4 使用Frame 來組織控件      588

13.5 Button 控件和消息框     590

13.6 用Entry 控件獲取輸入        593

13.7 將標簽用作輸出字段    596

檢查點      602

13.8 單選鈕和復選框        602

13.8.1 單選鈕      602

13.8.2 為Radiobutton 指定回調函數        605

檢查點      608

13.9 Listbox 控件           608

13.9.1 指定列表框大小       609

13.9.2 使用循環來填充列表框     609

13.9.3 在列表框中選擇項       610

13.9.4 獲取選中的一項或多項     611

13.9.5 從列表框中刪除項       613

13.9.6 當用戶單擊列表項時執行回調函數      613

13.9.7 為列表框添加滾動條   617

檢查點      625

13.10 使用Canvas 控件繪制圖形     625

13.10.1 Canvas 控件的屏幕坐標系    626

13.10.2 畫線:create_line 方法    627

13.10.3 畫矩形:create_rectangle 方法     629

13.10.4 畫橢圓:create_oval 方法      631

13.10.5 畫弧線:create_arc 弧形方法       633

13.10.6 畫多邊形:create_polygon 方法      637

13.10.7 繪制文本:create_text 方法  638

檢查點      643

復習題     644

編程練習        646

第14 章 數據庫編程      649

14.1 數據庫管理系統        649

14.1.1 SQL          650

14.1.2 SQLite      650

檢查點      650

14.2 表、行和列     650

14.2.1 列數據類型       651

14.2.2 主鍵          652

14.2.3 標識列      653

14.2.4 允許空值        653

檢查點      654

14.3 使用SQLite 打開和關閉數據庫連接      654

14.3.1 指定數據庫在磁盤上的位置   656

14.3.2 向DBMS 傳遞SQL 語句        656

檢查點      656

14.4 創建和刪除表        657

14.4.1 創建表      657

14.4.2 創建多個表          659

14.4.3 僅在表不存在時創建表     660

14.4.4 刪除表      660

檢查點      661

14.5 向表中添加數據        661

14.5.1 用一個INSERT 語句插入多行      663

14.5.2 插入NULL 數據      664

14.5.3 插入變量值       664

14.5.4 警惕SQL 註入攻擊     666

檢查點      667

14.6 使用SQL SELECT 語句查詢數據      667

14.6.1 示例數據庫       667

14.6.2 SELECT 語句       668

14.6.3 選擇表中的所有列       672

14.6.4 使用WHERE 子句指定搜索條件      673

14.6.5 SQL 邏輯操作符:AND,OR 和NOT 676

14.6.6 SELECT 語句中的字符串比較      676

14.6.7 使用LIKE 操作符        677

14.6.8 對SELECT 查詢的結果排序     678

14.6.9 聚合函數        679

檢查點      682

14.7 更新和刪除現有行         682

14.7.1 更新行      682

14.7.2 更新多列        685

14.7.3 確定更新的行數       685

14.7.4 使用DELETE 語句刪除行      686

14.7.5 確定刪除的行數       688

檢查點      688

14.8 深入主鍵          688

14.8.1 SQLite 中的RowID 列       689

14.8.2 SQLite 中的整數主鍵        689

14.8.3 非整數主鍵       690

14.8.4 復合鍵      690

檢查點      691

14.9 處理數據庫異常         692

檢查點      694

14.10 CRUD 操作          694

14.11 關系數據庫     702

14.11.1 外鍵        704

14.11.2 實體關系圖(ERD)     704

14.11.3 用SQL 創建外鍵        705

14.11.4 在SQLite 中強制外鍵約束    706

14.11.5 更新關系數據     709

14.11.6 刪除關系數據     709

14.11.7 在SELECT 語句中從多個表檢索列     710

檢查點      716

復習題     717

編程練習        720

附錄A 安裝Python     723

附錄B IDLE 簡介        725

附錄C ASCII 字符集       729

附錄D 預定義顏色名稱    731

附錄E import 語句        737

附錄F 用format() 函數格式化輸出      741

附錄G 用pip 工具安裝模塊        747

附錄H 知識檢查點答案    749

術語詳解          767