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