學習Python(第6版) Starting Out with Python, 6/e
[美]托尼·加迪斯(Tony Gaddis)著 周靖 譯
買這商品的人也買了...
-
$640$544 -
$300$270 -
$258$245 -
$354$336 -
$520$406 -
$266我跟爸爸學編程:從Python到C++
-
$414$393 -
$403速通機器學習
-
$611$575 -
$420$378 -
$607利用 Python 實現概率、統計及機器學習方法(原書第2版)
-
$1,014$963 -
$580$435 -
$910$865 -
$774$735 -
$419$398 -
$254數據挖掘技術(微課視頻版)
-
$600$570 -
$539$512 -
$1,015資料分析與預測演算法:基於 R語言
-
$359$341 -
$422深度學習與大模型基礎(簡體書)
-
$301最優化理論與智能算法
-
$300$270 -
$680$537
相關主題
商品描述
《學習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