Python程式設計(原書第2版)

Python程式設計(原書第2版)

《Python程式設計(原書第2版)》是2018年機械工業出版社出版的圖書,作者是[美] 凱·S. 霍斯特曼(Cay S. Horstmann) 、蘭斯·尼塞斯。

基本介紹

  • 書名:Python程式設計(原書第2版)
  • 作者:[美] 凱·S. 霍斯特曼(Cay S. Horstmann)
    蘭斯·尼塞斯
  • ISBN:9787111611479
  • 定價:119元
  • 出版社:機械工業出版社
  • 出版時間:2018年11月
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書介紹Python的基刪剃碑礎知識,旨在幫助學生首先掌握概念,之後通過步驟完備的實例培養學生的問題求解能力。這一版採用盛頁歸朽Python3,並對全書結構進行了最佳化,既可作為第一門程式設計課的入門教材,也可供Python愛好者自學參考。

圖書目錄

出版者的話
譯者序
前言
第1章 概述 1
1.1 電腦程式 1
1.2 深入剖析計算機 2
1.3 Python程式語言 4
1.4 熟悉編程環境 5
1.5 分析第一個程式 9
1.6 錯誤 11
1.7 問題解決:算法設計 13
本章小結 18
複習題 19
編程練習 20
第2章 數字與字元串編程 23
2.1 變數 23
2.1.1 定義變數 23
2.1.2 數字類型 25
2.1.3 變數名 26
2.1.4 常量 27
2.1.5 注釋 27
2.2 算術運算 29
2.2.1 基本算術運算 29
2.2.2 冪運算 30
2.2.3 整除和餘數 30
2.2.4 調用函式 31
2.2.5 數學函式 33
2.3 問題解決:首先手工完成 36
2.4 字元串 39
2.4.1 字元串類型 39
2.4.2 連線與重複 40
2.4.3 轉換數字和字元串 41
2.4.4 字元串與字元 41
2.4.5 字元串方法 42
2.5 輸入輸出 45
2.5.1 用戶輸入 45
2.5.2 輸入數字 46
2.5.3 格式化輸出 47
2.6 圖形:簡單繪圖 56
2.6.1 創建視窗 56
2.6.2 線和多邊形 57
2.6.3 內部填充的形狀與顏色 58
2.6.4 橢圓、圓和文本 60
本章小結 66
複習題 67
編程練習 69
第3章 選擇結構 78
3.1 if語句 78
3.3 嵌套的分支 90
3.4 多重選擇 94
3.5 問題解決:流程圖 99
3.6 問題解鑽煮循棕決:測試用例 102
3.7 布爾變數和運算符 104
3.8 分析字元串 109
3.9 套用:輸入驗證 112
本章小結 125
複習題 126
編程練習 131
第4章 循環 142
4.1 while循環 142
4.2 問題解決:手工跟蹤 148
4.3 套用:處理警戒值 151
4.4 問題解決慨獄:故事板 155
4.5 常見循環算法 158
4.5.1 數值求和與平均 158
4.5.2 匹配計數 158
4.5.3 遇到匹配項之前一直提示 159
4.5.4 最大值與最小值 159
4.5.5 比較相鄰值 159
4.6 for循環 161
4.7 嵌套循環 168
4.8 處理字元串 175
4.8.1 統計匹配項 175
4.8.2 查找所有匹配 176
4.8.3 查找第一個或最匪探記後一個匹配項 176
4.8.4 驗證字元串 176
4.8.5 構建新字元串 177
4.9 套用:隨機數和模擬 179
4.9.1 生成隨機數 179
4.9.2 模擬擲骰子 180
4.9.3 蒙特卡羅方法 180
4.10 圖形:數字圖像處理 184
4.10.1 圖像過濾 184
4.10.2 重構圖像 187
4.11 問題解決:先解決一個簡單些的問題 188
本章小結 194
複習題 195
編程練習 199
第5章 函式 212
5.1 函式如同黑盒子 212
5.2 實現和測試函式 213
5.2.1 實現函式 213
5.2.2 測試函式 214
5.2.3 包含函式的程式 215
5.3 參數傳遞 217
5.4 返回值 219
5.5 沒有返回值的函式 228
5.6 問題解決:可復用的函式 229
5.7 問題解決:逐步提煉 233
5.8 變數作用域 246
5.9 圖形:實現圖像處理工具包 252
5.9.1 準備開始 252
5.9.2 比較圖像 253
5.9.3 調整圖像亮度 253
5.9.4 旋轉圖像 255
5.9.5 使用工具包 256
5.10 遞歸函式(可選) 260
本章小結 264
複習題 265
編程練習 267
第6章 列表 276
6.1 列表基本屬性 276
6.1.1 創建列表 276
6.1.2 訪問列表元素 277
6.1.3 遍歷列表 278
6.1.4 列表引用 279
6.2 列表操作 282
6.2.1 追加元素 282
6.2.2 插入元素 282
6.2.3 查找元素 283
6.2.4 刪除元素 284
6.2.5 連線與重複 285
6.2.6 相等性測試 285
6.2.7 求和、最大值、奔擔拒最小值和排序 285
6.2.8 複製嚷烏匙列表 285
6.3 常用列表算法 288
6.3.1 填充 288
6.3.2 合併列表元素 288
6.3.3 元素分隔設定 289
6.3.4 最大值和最小值 289
6.3.5 線性搜尋 290
6.3.6 收集和統計匹配項 290
6.3.7 刪除匹配項 291
6.3.8 交換元素 291
6.3.9 讀取輸入 292
6.4 在函式中使用列表 297
6.5 問題解決:修改算法 304
6.6 問題解決:通過處理物理對象發現算法 310
6.7 表格 314
6.7.1 創建表格 314
6.7.2 訪問元素 315
6.7.3 定位鄰居元素 315
6.7.4 計算行和列的總和 316
6.7.5 在函式中使用表格 316
本章小結 324
複習題 325
編程練習 328
第7章 檔案與異常 337
7.1 讀取和寫入文本檔案 337
7.1.1 打開檔案 337
7.1.2 讀取檔案 338
7.1.3 寫入檔案 339
7.1.4 檔案處理案例 339
7.2 文本輸入和輸出 341
7.2.1 疊代檔案中的行 341
7.2.2 讀取單詞 342
7.2.3 讀取字元 344
7.2.4 讀取記錄 345
7.3 命令行參數 353
7.4 二進制檔案與隨機訪問(可選) 365
7.4.1 讀寫二進制檔案 365
7.4.2 隨機訪問 366
7.4.3 圖像檔案 366
7.4.4 處理BMP檔案 367
7.5 異常處理 373
7.5.1 拋出異常 374
7.5.2 處理異常 375
7.5.3 finally子句 376
7.6 套用:處理輸入錯誤 380
本章小結 391
複習題 392
編程練習 393
第8章 集合與字典 404
8.1 集合 404
8.1.1 創建和使用集合 404
8.1.2 增加和刪除元素 405
8.1.3 子集 406
8.1.4 並集、交集和差集 407
8.2 字典 414
8.2.1 創建字典 414
8.2.2 訪問字典的值 415
8.2.3 增加和修改項 415
8.2.4 刪除項 416
8.2.5 遍歷字典 416
8.3 複雜結構 422
8.3.1 包含集合的字典 423
8.3.2 包含列表的字典 425
本章小結 434
複習題 435
編程練習 436
第9章 對象和類 440
9.1 面向對象編程 440
9.2 實現一個簡單的類 441
9.3 指定類的公開接口 445
9.4 設計數據表示 446
9.5 構造函式 448
9.6 實現方法 451
9.7 測試一個類 454
9.8 問題解決:跟蹤對象 462
9.9 問題解決:對象數據的模式 465
9.9.1 記錄總數 465
9.9.2 事件計數 465
9.9.3 收集值 466
9.9.4 管理對象的屬性 466
9.9.5 使用唯一狀態建模對象 467
9.9.6 描述對象的位置 467
9.10 對象引用 469
9.10.1 共享引用 470
9.10.2 None引用 471
9.10.3 self引用 472
9.10.4 對象的生命周期 472
9.11 套用:編寫一個Fraction類 473
9.11.1 Fraction類的設計 473
9.11.2 構造函式 474
9.11.3 特殊方法 475
9.11.4 算術運算 477
9.11.5 邏輯運算 478
本章小結 485
複習題 486
編程練習 487
第10章 繼承 495
10.1 繼承層次結構 495
10.2 實現子類 499
10.3 調用超類構造函式 502
10.4 覆蓋方法 506
10.5 多態 509
10.6 套用:幾何形狀類層次結構 523
10.6.1 基類 523
10.6.2 基本形狀 525
10.6.3 形狀分組 528
本章小結 530
複習題 531
編程練習 532
第11章 遞歸 537
11.1 再看三角數 537
11.2 問題解決:遞歸思維 541
11.3 遞歸輔助函式 545
11.4 遞歸的效率 546
11.5 排列 551
11.6 回溯 555
11.7 互遞歸 561
本章小結 568
複習題 569
編程練習 569
第12章 排序和搜尋 575
12.1 選擇排序 575
12.2 分析選擇排序算法 577
12.3 分析選擇排序算法的性能 579
12.4 歸併排序 583
12.5 分析歸併排序算法 585
12.6 搜尋 589
12.6.1 線性搜尋 589
12.6.2 二分搜尋 590
12.7 問題解決:估計算法的運行時間 592
12.7.1 線性時間 592
12.7.2 二次時間 593
12.7.3 三角模式 594
12.7.4 對數時間 595
本章小結 602
複習題 603
編程練習 605
4.5.1 數值求和與平均 158
4.5.2 匹配計數 158
4.5.3 遇到匹配項之前一直提示 159
4.5.4 最大值與最小值 159
4.5.5 比較相鄰值 159
4.6 for循環 161
4.7 嵌套循環 168
4.8 處理字元串 175
4.8.1 統計匹配項 175
4.8.2 查找所有匹配 176
4.8.3 查找第一個或最後一個匹配項 176
4.8.4 驗證字元串 176
4.8.5 構建新字元串 177
4.9 套用:隨機數和模擬 179
4.9.1 生成隨機數 179
4.9.2 模擬擲骰子 180
4.9.3 蒙特卡羅方法 180
4.10 圖形:數字圖像處理 184
4.10.1 圖像過濾 184
4.10.2 重構圖像 187
4.11 問題解決:先解決一個簡單些的問題 188
本章小結 194
複習題 195
編程練習 199
第5章 函式 212
5.1 函式如同黑盒子 212
5.2 實現和測試函式 213
5.2.1 實現函式 213
5.2.2 測試函式 214
5.2.3 包含函式的程式 215
5.3 參數傳遞 217
5.4 返回值 219
5.5 沒有返回值的函式 228
5.6 問題解決:可復用的函式 229
5.7 問題解決:逐步提煉 233
5.8 變數作用域 246
5.9 圖形:實現圖像處理工具包 252
5.9.1 準備開始 252
5.9.2 比較圖像 253
5.9.3 調整圖像亮度 253
5.9.4 旋轉圖像 255
5.9.5 使用工具包 256
5.10 遞歸函式(可選) 260
本章小結 264
複習題 265
編程練習 267
第6章 列表 276
6.1 列表基本屬性 276
6.1.1 創建列表 276
6.1.2 訪問列表元素 277
6.1.3 遍歷列表 278
6.1.4 列表引用 279
6.2 列表操作 282
6.2.1 追加元素 282
6.2.2 插入元素 282
6.2.3 查找元素 283
6.2.4 刪除元素 284
6.2.5 連線與重複 285
6.2.6 相等性測試 285
6.2.7 求和、最大值、最小值和排序 285
6.2.8 複製列表 285
6.3 常用列表算法 288
6.3.1 填充 288
6.3.2 合併列表元素 288
6.3.3 元素分隔設定 289
6.3.4 最大值和最小值 289
6.3.5 線性搜尋 290
6.3.6 收集和統計匹配項 290
6.3.7 刪除匹配項 291
6.3.8 交換元素 291
6.3.9 讀取輸入 292
6.4 在函式中使用列表 297
6.5 問題解決:修改算法 304
6.6 問題解決:通過處理物理對象發現算法 310
6.7 表格 314
6.7.1 創建表格 314
6.7.2 訪問元素 315
6.7.3 定位鄰居元素 315
6.7.4 計算行和列的總和 316
6.7.5 在函式中使用表格 316
本章小結 324
複習題 325
編程練習 328
第7章 檔案與異常 337
7.1 讀取和寫入文本檔案 337
7.1.1 打開檔案 337
7.1.2 讀取檔案 338
7.1.3 寫入檔案 339
7.1.4 檔案處理案例 339
7.2 文本輸入和輸出 341
7.2.1 疊代檔案中的行 341
7.2.2 讀取單詞 342
7.2.3 讀取字元 344
7.2.4 讀取記錄 345
7.3 命令行參數 353
7.4 二進制檔案與隨機訪問(可選) 365
7.4.1 讀寫二進制檔案 365
7.4.2 隨機訪問 366
7.4.3 圖像檔案 366
7.4.4 處理BMP檔案 367
7.5 異常處理 373
7.5.1 拋出異常 374
7.5.2 處理異常 375
7.5.3 finally子句 376
7.6 套用:處理輸入錯誤 380
本章小結 391
複習題 392
編程練習 393
第8章 集合與字典 404
8.1 集合 404
8.1.1 創建和使用集合 404
8.1.2 增加和刪除元素 405
8.1.3 子集 406
8.1.4 並集、交集和差集 407
8.2 字典 414
8.2.1 創建字典 414
8.2.2 訪問字典的值 415
8.2.3 增加和修改項 415
8.2.4 刪除項 416
8.2.5 遍歷字典 416
8.3 複雜結構 422
8.3.1 包含集合的字典 423
8.3.2 包含列表的字典 425
本章小結 434
複習題 435
編程練習 436
第9章 對象和類 440
9.1 面向對象編程 440
9.2 實現一個簡單的類 441
9.3 指定類的公開接口 445
9.4 設計數據表示 446
9.5 構造函式 448
9.6 實現方法 451
9.7 測試一個類 454
9.8 問題解決:跟蹤對象 462
9.9 問題解決:對象數據的模式 465
9.9.1 記錄總數 465
9.9.2 事件計數 465
9.9.3 收集值 466
9.9.4 管理對象的屬性 466
9.9.5 使用唯一狀態建模對象 467
9.9.6 描述對象的位置 467
9.10 對象引用 469
9.10.1 共享引用 470
9.10.2 None引用 471
9.10.3 self引用 472
9.10.4 對象的生命周期 472
9.11 套用:編寫一個Fraction類 473
9.11.1 Fraction類的設計 473
9.11.2 構造函式 474
9.11.3 特殊方法 475
9.11.4 算術運算 477
9.11.5 邏輯運算 478
本章小結 485
複習題 486
編程練習 487
第10章 繼承 495
10.1 繼承層次結構 495
10.2 實現子類 499
10.3 調用超類構造函式 502
10.4 覆蓋方法 506
10.5 多態 509
10.6 套用:幾何形狀類層次結構 523
10.6.1 基類 523
10.6.2 基本形狀 525
10.6.3 形狀分組 528
本章小結 530
複習題 531
編程練習 532
第11章 遞歸 537
11.1 再看三角數 537
11.2 問題解決:遞歸思維 541
11.3 遞歸輔助函式 545
11.4 遞歸的效率 546
11.5 排列 551
11.6 回溯 555
11.7 互遞歸 561
本章小結 568
複習題 569
編程練習 569
第12章 排序和搜尋 575
12.1 選擇排序 575
12.2 分析選擇排序算法 577
12.3 分析選擇排序算法的性能 579
12.4 歸併排序 583
12.5 分析歸併排序算法 585
12.6 搜尋 589
12.6.1 線性搜尋 589
12.6.2 二分搜尋 590
12.7 問題解決:估計算法的運行時間 592
12.7.1 線性時間 592
12.7.2 二次時間 593
12.7.3 三角模式 594
12.7.4 對數時間 595
本章小結 602
複習題 603
編程練習 605

相關詞條

熱門詞條

聯絡我們