Python 程序設計, 3/e Python程序设计 第3版
[美] 約翰·策勒
- 出版商: 人民郵電
- 出版日期: 2018-01-01
- 定價: $479
- 售價: 8.5 折 $407
- 語言: 簡體中文
- 頁數: 330
- 裝訂: 平裝
- ISBN: 7115283257
- ISBN-13: 9787115283252
-
相關分類:
Python、程式語言、資訊科學
- 此書翻譯自: Python Programming: An Introduction to Computer Science, 3rd Ed.
立即出貨 (庫存=1)
買這商品的人也買了...
-
$480$379 -
$350$263 -
$390$332 -
$400$316 -
$680$530 -
$560$476 -
$420$357 -
$500$395 -
$390$332 -
$301Python 物理建模初學者指南
-
$699$629 -
$352數據結構 Python 語言描述 (Fundamentals of Python: Data Structures)
-
$266機器學習 : Python 實踐
-
$505深度學習 : 一起玩轉 TensorLayer
-
$352ROS 機器人程序設計, 2/e (Learning ROS for Robotics Programming, 2/e)
-
$352Python 貝葉斯分析
-
$520$406 -
$690$587 -
$380$296 -
$594$564 -
$199每天 5分鐘玩轉 Kubernetes
-
$301笨辦法學 Python 3 (Learn Python 3 the Hard Way: A Very Simple Introduction to the Terrifyingly Beautiful World of Computers and Code)
-
$450$338 -
$690$538 -
$403Python 編程從入門到精通
相關主題
商品描述
《Python程序設計 第3版》是面向大學電腦科學專業的教材。本書以Python語言為工具,採用相當傳統的方法,強調解決問題、設計和編程是電腦科學的核心技能。
全書共13章,此外,還包含兩個附錄。第 1章到第5章介紹電腦與程序、編寫簡單程序、數字計算、對象和圖形、字符串處理等基礎知識。第6章到第8章介紹函數、判斷結構、循環結構和布爾值等話題。第9章到第 13章著重介紹一些較為高檔的程序設計方法,包括模擬與設計、類、數據集合、面向對象設計、算法設計與遞歸等。附錄部分給出了Python快速參考和術語表。每一章的末尾配有豐富的練習,包括復習問題、討論和編程聯系等多種形式,幫助讀者鞏固該章的知識和技能。
《Python程序設計 第3版》特色鮮明、示例生動有趣、內容易讀易學,適合Python入門程序員閱讀,也適合高校電腦專業的教師和學生參考。
作者簡介
[美]約翰·策勒(John Zelle)譯者:王海鵬
John Zelle是美國Wartburg大學數學和計算機系教授。他負責教授Python程序設計課程,並且結合多年的教學經驗編寫了本書,在美國高校受到普遍的歡迎。他還從事VR、AI等方面的研究,發表了一些機器學習方面的論文。
目錄大綱
第1章計算機和程序1
學習目標1
1.1通用機器1
1.2程序的力量2
1.3什麼是計算機科學2
1.4硬件基礎3
1.5編程語言4
1.6 Python的“魔法” 6
1.7 Python程序內部10
1.8混沌與計算機12
1.9小結13
1.10練習14
複習問題14
第2章編寫簡單程序17
學習目標17
2.1軟件開發過程17
2.2示例程序:溫度轉換器18
2.3程序要素19
2.3.1名稱19
2.3.2表達式20
2.4輸出語句22
2.5賦值語句23
2.5.1簡單賦值23
2.5.2賦值輸入24
2.5.3同時賦值26
2.6確定循環27
2.7示例程序:終值29
2.8小結31
2.9練習32
複習問題32
第3章數字計算35
學習目標35
3.1數值數據類型35
3.2類型轉換和舍入38
3.3使用math庫40
3.4累積結果:階乘42
3.5計算機算術的局限性44
3.6小結46
3.7練習47
複習問題47
第4章對象和圖形52
學習目標52
4.1概述52
4.2對象的目標53
4.3簡單圖形編程53
4.4使用圖形對象56
4.5繪製終值60
4.6選擇坐標64
4.7交互式圖形66
4.7.1獲取鼠標點擊67
4.7.2處理文本輸入68
4.8 graphics模塊參考70
4.8.1 GraphWin對象70
4.8.2圖形對象71
4.8.3 Entry對象74
4.8.4顯示圖像74
4.8.5生成顏色75
4.8.6控制顯示更新(高檔) 75
4.9小結76
4.10練習76
複習問題76
第5章序列:字符串、列表和文件81
學習目標81
5.1字符串數據類型81
5.2簡單字符串處理84
5.3列表作為序列86
5.4字符串表示和消息編碼87
5.4.1字符串表示87
5.4.2編寫編碼器88
5.5字符串方法89
5.5.1編寫解碼器89
5.5.2更多字符串方法92
5.6列表也有方法93
5.7從編碼到加密94
5.8輸入/輸出作為字符串操作95
5.8.1示例應用程序:
日期轉換95
5.8.2字符串格式化97
5.8.3更好的零錢計數器99
5.9文件處理99
5.9.1多行字符串100
5.9.2文件處理100
5.9.3示例程序:批處理
用戶名103
5.9.4文件對話框(可選) 103
5.10小結105
5.11練習106
複習問題106
第6章定義函數111
學習目標111
6.1函數的功能111
6.2函數的非正式討論112
6.3帶有函數的終值程序115
6.4函數和參數:令人興奮的
細節116
6.5返回值的函數119
6.6修改參數的函數122
6.7函數和程序結構126
6.8小結128
6.9練習129
複習問題129
第7章判斷結構133
學習目標133
7.1簡單判斷133
7.1.1示例:溫度警告133
7.1.2形成簡單條件135
7.1.3示例:條件程序執行136
7.2兩路判斷137
7.3多路判斷140
7.4異常處理142
7.5設計研究:三者大144
7.5.1策略1:比較每個值和
所有其他值145
7.5.2策略2:判斷樹146
7.5.3策略3:順序處理147
7.5.4策略4:使用Python 148
7.5.5一些經驗148
7.6小結149
7.7練習149
複習問題149
第8章循環結構和布爾值153
學習目標153
8.1 for循環:快速回顧153
8.2不定循環154
8.3常見循環模式155
8.3.1交互式循環155
8.3.2哨兵循環156
8.3.3文件循環158
8.3.4嵌套循環160
8.4布爾值計算161
8.4.1布爾運算符161
8.4.2布爾代數163
8.5其他常見結構165
8.5.1後測試循環165
8.5.2循環加一半166
8.5.3布爾表達式作為判斷166
8.6示例:一個簡單的事件循環169
8.7小結172
8.8練習173
複習問題173
第9章模擬與設計177
學習目標177
9.1模擬短柄壁球177
9.1.1一個模擬問題177
9.1.2分析與規格說明178
9.2偽隨機數178
9.3自頂向下的設計180
9.3.1頂層設計180
9.3.2關注點分離182
9.3.3第二層設計182
9.3.4設計simNGames 183
9.3.5第三層設計184
9.3.6整理完成186
9.3.7設計過程總結188
9.4自底向上的實現188
9.4.1單元測試188
9.4.2模擬結果189
9.5其他設計技術190
9.5.1原型與螺旋式開發190
9.5.2設計的藝術191
9.6小結191
9.7練習192
複習問題192
第10章定義類196
學習目標196
10.1對象的快速復習196
10.2示例程序:砲彈197
10.2.1程序規格說明197
10.2.2設計程序197
10.2.3程序模塊化199
10.3定義新類200
10.3.1示例:多面骰子201
10.3.2示例:Projectile類203
10.4用類數據處理205
10.5對象和封裝207
10.5.1封裝有用的抽象207
10.5.2將類放在模塊中208
10.5.3模塊文檔208
10.5.4使用多個模塊210
10.6控件210
10.6.1示例程序:擲骰
子程序211
10.6.2創建按鈕211
10.6.3構建骰子類213
10.6.4主程序215
10.7動畫砲彈216
10.7. 1繪製動畫窗口217
10.7.2創建ShotTracker 218
10.7.3創建輸入對話框219
10.7.4主事件循環220
10.8小結221
10.9練習222
複習問題222
第11章數據集合227
學習目標227
11.1示例問題:簡單統計227
11.2應用列表228
11.2.1列表和數組229
11.2.2列表操作229
11.2.3用列表進行統計231
11.3記錄的列表235
11.4用列表和類設計237
11.5案例分析:Python計算器241
11.5.1計算器作為對象241
11.5.2構建界面241
11.5.3處理按鈕243
11.6案例研究:更好的砲彈動畫246
11.6.1創建發射器246
11.6.2追踪多次射擊248
11.7無順序集合251
11.7.1字典基礎251
11.7.2字典操作252
11.7.3示例程序:詞頻253
11.8小結257
11.9練習257
複習問題257
第12章面向對象設計262
學習目標262
12.1 OOD的過程262
12.2案例研究:壁球模擬263
12.2.1候選對象和方法264
12.2.2實現SimStats 265
12.2.3實現RBallGame 266
12.2.4實現Player 267
12.2.5完整程序268
12.3案例研究:骰子撲克270
12.3.1程序規格說明271
12.3.2識別候選對象271
12.3.3實現模型272
12.3.4基於文本的UI 275
12.3.5開發GUI 277
12.4 OO概念282
12.4.1封裝282
12.4.2多態283
12.4.3繼承283
12.5小結284
12.6練習285
複習問題285
第13章算法設計與遞歸287
學習目標287
13.1查找287
13.1.1簡單的查找問題287
13.1.2策略1:線性查找288
13.1.3策略2:二分查找288
13.1.4比較算法289
13.2遞歸問題解決290
13.2.1遞歸定義291
13.2.2遞歸函數292
13.2.3示例:字符串反轉293
13.2.4示例:重組詞294
13.2.5示例:快速指數295
13.2.6示例:二分查找296
13.2.7遞歸與迭代296
13.3排序算法298
13.3.1天真的排序:選擇
排序298
13.3.2分而治之:歸併排序299
13.3.3排序比較301
13.4難題303
13.4.1漢諾依塔303
13.4.2停機問題306
13.4.3結論308
13.5小結308
13.6練習309
複習問題309
附錄A Python快速參考314
附錄B術語表323