本書是以Python 語言(Python 3 版本)作為入門語言的程序設(shè)計教材,以嶄新的思路進行設(shè)計和編排。全書以程序設(shè)計零起點讀者為主要對象,以培養(yǎng)程序設(shè)計能力為目標(biāo),簡潔通俗,循序漸進,通過例題,重點講解程序設(shè)計思想和方法,力圖將Python 語言基礎(chǔ)知識介紹和程序設(shè)計能力培養(yǎng)完美結(jié)合,培養(yǎng)讀者對程序設(shè)計的興趣,提高讀者程序設(shè)計能力水平。本書共10 章,包括程序設(shè)計概述,基本程序設(shè)計,程序的控制結(jié)構(gòu),函數(shù),字符串、列表和元組,字典和集合,對象和類,繼承和多態(tài),異常處理以及文件。本書適合作為高等學(xué)校學(xué)生學(xué)習(xí)程序設(shè)計課程的教材,也可供程序員和編程愛好者參考使用。
本書特色:1.本書以程序設(shè)計零起點讀者為主要對象,以培養(yǎng)程序設(shè)計能力為目標(biāo)。2.內(nèi)容簡潔通俗、循序漸進,重點講解程序設(shè)計思想和方法,力圖將Python語言基礎(chǔ)知識和程序設(shè)計能力培養(yǎng)完美結(jié)合。3.本書配有iStudy通用實踐評價平臺,可實現(xiàn)在線學(xué)習(xí)、練習(xí)、測評與考務(wù)管理。4.本書源于教學(xué)改革和教學(xué)實踐,體現(xiàn)了程序設(shè)計教學(xué)改革的成果。
虞歌,杭州師范大學(xué)杭州國際服務(wù)工程學(xué)院(信息科學(xué)與工程學(xué)院)副教授,碩士生導(dǎo)師,杭州市教育局系統(tǒng)優(yōu)秀教育工作者/杭州市教育局系統(tǒng)優(yōu)秀教師,長期從事計算機應(yīng)用技術(shù)、計算機教育方面的研究與教學(xué)工作,主講《程序設(shè)計基礎(chǔ)》《面向?qū)ο蟪绦蛟O(shè)計》《Web程序設(shè)計》等課程,主編和參編教材多部。
第1 章
程序設(shè)計概述............................ 1
1.1 計算機系統(tǒng)......................................
1
1.1.1 計算機硬件系統(tǒng)....................
1
1.1.2 計算機軟件系統(tǒng)....................
2
1.1.3 計算機中的信息表示............
3
1.2 程序設(shè)計基礎(chǔ)..................................
5
1.2.1 程序.......................................
5
1.2.2 程序設(shè)計語言........................
5
1.2.3 程序設(shè)計...............................
6
1.3 Python 語言的發(fā)展歷史與特點....... 7
1.3.1 Python 語言的發(fā)展歷史........ 7
1.3.2 Python 語言的特點................
8
1.4 Python 程序開發(fā)..............................
9
1.4.1 基本術(shù)語...............................
9
1.4.2 Python 程序的開發(fā)過程...... 10
1.4.3 搭建Python 編程環(huán)境.........
10
1.5 初識Python 程序...........................
13
1.5.1 第一個Python 程序.............
13
1.5.2 兩個整數(shù)的加、減、乘、
除、整除程序..................... 14
1.5.3 算術(shù)表達式求值程序..........
15
1.5.4 華氏溫度轉(zhuǎn)換為攝氏
溫度的程序......................... 15
思考與練習(xí)............................................. 16
編程題.................................................... 16
第2 章
基本程序設(shè)計.......................... 18
2.1 計算三角形面積的程序................
18
2.2 標(biāo)識符及其命名規(guī)則....................
19
2.2.1 標(biāo)識符.................................
19
2.2.2 關(guān)鍵字.................................
19
2.3 變量和常量....................................
20
2.3.1 變量.....................................
20
2.3.2 常量.....................................
21
2.4 數(shù)值數(shù)據(jù)類型和運算符.................
21
2.5 字符串和字符簡介........................
25
2.6 列表、元組和字典簡介.................
29
2.6.1 初識列表.............................
29
2.6.2 初識元組.............................
30
2.6.3 初識字典.............................
31
2.7 內(nèi)置函數(shù)和數(shù)學(xué)函數(shù)....................
32
2.7.1 內(nèi)置函數(shù).............................
32
2.7.2 數(shù)學(xué)函數(shù).............................
33
2.8 對象和方法簡介............................
36
2.9 程序設(shè)計風(fēng)格................................
38
2.9.1 適當(dāng)?shù)淖⑨?.........................
38
2.9.2 命名習(xí)慣.............................
38
2.9.3 程序編排.............................
39
思考與練習(xí)............................................. 39
編程題.................................................... 41
第3 章
程序的控制結(jié)構(gòu)....................... 42
3.1 單入口單出口的控制結(jié)構(gòu).............
42
3.2 布爾類型和關(guān)系運算符.................
43
3.3 成員運算符和身份運算符.............
45
3.4 if 語句............................................
47
3.4.1 單分支if 語句和雙分支
if-else 語句..........................
47
3.4.2 多分支if-elif-else 語句...... 48
3.5 產(chǎn)生隨機數(shù)....................................
50
3.6 邏輯運算符....................................
51
3.7 循環(huán)...............................................
53
3.8 while 語句......................................
54
3.9 for 語句..........................................
57
3.10 pass、break 和continue 語句....... 60
3.11 嵌套循環(huán)......................................
61
思考與練習(xí)............................................. 63
編程題.................................................... 65
第4 章
函數(shù)........................................ 68
4.1 函數(shù)的定義和調(diào)用........................
68
4.2 函數(shù)的設(shè)計規(guī)則............................
72
4.2.1 函數(shù)頭的設(shè)計規(guī)則..............
72
4.2.2 函數(shù)體的設(shè)計規(guī)則..............
72
4.3 函數(shù)的參數(shù)....................................
73
4.3.1 位置參數(shù)和關(guān)鍵字參數(shù)...... 73
4.3.2 默認(rèn)參數(shù).............................
74
4.3.3 參數(shù)傳遞.............................
75
4.3.4 包裹傳遞參數(shù)和解包裹...... 76
4.4 變量的作用域................................
78
4.5 lambda 表達式...............................
79
4.6 函數(shù)式編程....................................
81
4.7 遞歸...............................................
84
4.7.1 遞歸的定義.........................
84
4.7.2 運用遞歸求解問題..............
86
4.7.3 遞歸和循環(huán).........................
87
4.7.4 尾遞歸.................................
89
4.8 海龜圖...........................................
90
4.8.1 設(shè)置畫布.............................
90
4.8.2 控制海龜.............................
92
4.8.3 控制畫筆.............................
95
4.8.4 分形圖形...........................
100
4.9 模塊化代碼..................................
101
思考與練習(xí)........................................... 102
編程題.................................................. 104
第5 章
字符串、列表和元組.............. 107
5.1 字符串.........................................
107
5.1.1 字符編碼和字符串............
107
5.1.2 字符串的基本操作............
109
5.1.3 正則表達式.......................
115
5.2 列表.............................................
121
5.2.1 列表的概念.......................
121
5.2.2 列表的基本操作................
122
5.2.3 復(fù)制列表...........................
131
5.2.4 列表和函數(shù)........................
133
5.2.5 二維列表...........................
135
5.3 元組.............................................
137
5.3.1 元組的概念........................
137
5.3.2 元組的基本操作................
138
5.4 排序和查找..................................
140
5.4.1 排序...................................
140
5.4.2 查找...................................
142
思考與練習(xí)........................................... 144
編程題.................................................. 146
第6 章
字典和集合............................ 150
6.1 字典.............................................
150
6.1.1 字典的概念........................
150
6.1.2 字典的基本操作................
151
6.2 集合.............................................
157
6.2.1 集合的概念........................
157
6.2.2 集合的基本操作................
158
思考與練習(xí)........................................... 165
編程題.................................................. 166
第7 章
對象和類............................... 168
7.1 面向?qū)ο蟪绦蛟O(shè)計......................
168
7.2 使用類編寫程序..........................
169
7.2.1 聲明類...............................
169
7.2.2 創(chuàng)建對象...........................
170
7.3 對象作為函數(shù)參數(shù)......................
171
7.4 對象列表......................................
171
7.5 隱藏數(shù)據(jù)域..................................
172
7.6 類變量和類方法..........................
174
7.7 靜態(tài)方法......................................
176
7.8 使用屬性......................................
177
7.9 運算符重載和特殊方法...............
179
7.10 定制類........................................
182
7.11 迭代器........................................
185
7.12 生成器........................................
188
7.13 處理日期和時間........................
190
7.13.1 datetime 類.......................
190
7.13.2 timedelta 類......................
194
思考與練習(xí)........................................... 198
編程題.................................................. 200
第8 章
繼承和多態(tài)............................ 203
8.1 繼承的概念..................................
203
8.2 單繼承.........................................
204
8.3 覆蓋方法.....................................
206
8.4 object 類.......................................
207
8.5 多態(tài)和動態(tài)綁定..........................
207
8.6 鴨子類型.....................................
209
8.7 與對象和類相關(guān)的內(nèi)置函數(shù).......
210
8.8 類之間的關(guān)系..............................
212
8.9 collections 模塊............................
215
8.10 多繼承.......................................
218
思考與練習(xí)........................................... 220
編程題.................................................. 221
第9 章
異常處理............................... 224
9.1 程序設(shè)計錯誤..............................
224
9.2 什么是異常..................................
225
9.3 如何處理異常..............................
225
9.4 內(nèi)置異常類..................................
226
9.5 拋出異常.....................................
228
9.6 進一步討論異常處理..................
229
9.7 自定義異常類..............................
231
9.8 斷言.............................................
232
思考與練習(xí)........................................... 233
編程題.................................................. 233
第10 章
文件.................................... 236
10.1 文件的概念................................
236
10.2 文件操作....................................
237
10.3 文件讀寫....................................
238
10.3.1 文本文件讀寫..................
238
10.3.2 二進制文件讀寫..............
241
10.4 對象序列化................................
242
10.4.1 pickle 模塊.......................
242
10.4.2 JSON
................................ 243
10.5 內(nèi)存文件....................................
246
10.5.1 StringIO
............................ 246
10.5.2 BytesIO.............................
247
10.6 CSV 文件....................................
247
10.7 電子表格文件............................
250
思考與練習(xí)........................................... 253
編程題.................................................. 253
參考文獻............................................. 255