描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787113244965丛书名: 普通高等教育“十三五”规划教材
第1 章
程序设计概述………………………. 1
1.1 计算机系统………………………………..
1
1.1.1 计算机硬件系统………………..
1
1.1.2 计算机软件系统………………..
2
1.1.3 计算机中的信息表示…………
3
1.2 程序设计基础…………………………….
5
1.2.1 程序…………………………………
5
1.2.2 程序设计语言……………………
5
1.2.3 程序设计………………………….
6
1.3 Python 语言的发展历史与特点……. 7
1.3.1 Python 语言的发展历史…….. 7
1.3.2 Python 语言的特点…………….
8
1.4 Python 程序开发…………………………
9
1.4.1 基本术语………………………….
9
1.4.2 Python 程序的开发过程…… 10
1.4.3 搭建Python 编程环境………
10
1.5 初识Python 程序………………………
13
1.5.1 个Python 程序………….
13
1.5.2 两个整数的加、减、乘、
除、整除程序………………… 14
1.5.3 算术表达式求值程序……….
15
1.5.4 华氏温度转换为摄氏
温度的程序……………………. 15
思考与练习……………………………………… 16
编程题……………………………………………. 16
第2 章
基本程序设计…………………….. 18
2.1 计算三角形面积的程序…………….
18
2.2 标识符及其命名规则………………..
19
2.2.1 标识符……………………………
19
2.2.2 关键字……………………………
19
2.3 变量和常量………………………………
20
2.3.1 变量……………………………….
20
2.3.2 常量……………………………….
21
2.4 数值数据类型和运算符……………..
21
2.5 字符串和字符简介……………………
25
2.6 列表、元组和字典简介……………..
29
2.6.1 初识列表………………………..
29
2.6.2 初识元组………………………..
30
2.6.3 初识字典………………………..
31
2.7 内置函数和数学函数………………..
32
2.7.1 内置函数………………………..
32
2.7.2 数学函数………………………..
33
2.8 对象和方法简介……………………….
36
2.9 程序设计风格…………………………..
38
2.9.1 适当的注释……………………..
38
2.9.2 命名习惯………………………..
38
2.9.3 程序编排………………………..
39
思考与练习……………………………………… 39
编程题……………………………………………. 41
第3 章
程序的控制结构………………….. 42
3.1 单入口单出口的控制结构………….
42
3.2 布尔类型和关系运算符……………..
43
3.3 成员运算符和身份运算符………….
45
3.4 if 语句……………………………………..
47
3.4.1 单分支if 语句和双分支
if-else 语句……………………..
47
3.4.2 多分支if-elif-else 语句…… 48
3.5 产生随机数………………………………
50
3.6 逻辑运算符………………………………
51
3.7 循环………………………………………..
53
3.8 while 语句………………………………..
54
3.9 for 语句……………………………………
57
3.10 pass、break 和continue 语句……. 60
3.11 嵌套循环………………………………..
61
思考与练习……………………………………… 63
编程题……………………………………………. 65
第4 章
函数…………………………………. 68
4.1 函数的定义和调用……………………
68
4.2 函数的设计规则……………………….
72
4.2.1 函数头的设计规则…………..
72
4.2.2 函数体的设计规则…………..
72
4.3 函数的参数………………………………
73
4.3.1 位置参数和关键字参数…… 73
4.3.2 默认参数………………………..
74
4.3.3 参数传递………………………..
75
4.3.4 包裹传递参数和解包裹…… 76
4.4 变量的作用域…………………………..
78
4.5 lambda 表达式………………………….
79
4.6 函数式编程………………………………
81
4.7 递归………………………………………..
84
4.7.1 递归的定义…………………….
84
4.7.2 运用递归求解问题…………..
86
4.7.3 递归和循环…………………….
87
4.7.4 尾递归……………………………
89
4.8 海龟图…………………………………….
90
4.8.1 设置画布………………………..
90
4.8.2 控制海龟………………………..
92
4.8.3 控制画笔………………………..
95
4.8.4 分形图形………………………
100
4.9 模块化代码…………………………….
101
思考与练习……………………………………. 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 复制列表………………………
131
5.2.4 列表和函数……………………
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
思考与练习……………………………………. 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
思考与练习……………………………………. 165
编程题………………………………………….. 166
第7 章
对象和类…………………………. 168
7.1 面向对象程序设计………………….
168
7.2 使用类编写程序……………………..
169
7.2.1 声明类………………………….
169
7.2.2 创建对象………………………
170
7.3 对象作为函数参数………………….
171
7.4 对象列表………………………………..
171
7.5 隐藏数据域…………………………….
172
7.6 类变量和类方法……………………..
174
7.7 静态方法………………………………..
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
思考与练习……………………………………. 198
编程题………………………………………….. 200
第8 章
继承和多态………………………. 203
8.1 继承的概念…………………………….
203
8.2 单继承…………………………………..
204
8.3 覆盖方法……………………………….
206
8.4 object 类…………………………………
207
8.5 多态和动态绑定……………………..
207
8.6 鸭子类型……………………………….
209
8.7 与对象和类相关的内置函数…….
210
8.8 类之间的关系…………………………
212
8.9 collections 模块……………………….
215
8.10 多继承…………………………………
218
思考与练习……………………………………. 220
编程题………………………………………….. 221
第9 章
异常处理…………………………. 224
9.1 程序设计错误…………………………
224
9.2 什么是异常…………………………….
225
9.3 如何处理异常…………………………
225
9.4 内置异常类…………………………….
226
9.5 抛出异常……………………………….
228
9.6 进一步讨论异常处理………………
229
9.7 自定义异常类…………………………
231
9.8 断言………………………………………
232
思考与练习……………………………………. 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 内存文件………………………………
246
10.5.1 StringIO
………………………. 246
10.5.2 BytesIO………………………..
247
10.6 CSV 文件………………………………
247
10.7 电子表格文件……………………….
250
思考与练习……………………………………. 253
编程题………………………………………….. 253
参考文献……………………………………… 255
随着信息产业的迅速发展,软件人才的需求量越来越大。程序设计是软件人才的基础知识和技能。
程序设计基础是一门理论与实践密切相关、以培养学生程序设计能力为目标的课程。如何消除学生学习程序设计的畏难情绪,使学生顺利进入程序设计的大门,逐步掌握程序设计思想和方法,提高实践动手能力,是本课程教学的难题。
程序设计既是科学,也是艺术。学习程序设计是一件非常辛苦的事情,要有非常强的耐心和实践精神,需要花费大量的时间,不可能一蹴而就,必须从某个起点开始循序渐进。
本书就是一个很好的起点。本书以程序设计零起点读者为主要对象,采用Python 语言(Python 3 版本)作为程序设计的描述语言。Python 语言是目前业界广泛使用的程序设计语言,编者确信选用Python 语言作为程序设计基础课程的教学语言是正确的选择。在教学实践中,编者感到Python 语言的简洁、灵活和高效,能够带给软件开发者无尽想象的空间,同时也深深感到讲授Python 语言过程中面临的困难和挑战,意识到在程序设计基础课程中讲授Python 语言并不是那么容易的。
尽管目前有关学习Python 语言的书籍很多,但学习Python 语言仍然让大多数初学者心存畏惧。编者一直从事程序设计方面的教学和科研工作,主讲过多门程序设计课程,积累了丰富的教学经验。在本书编写过程中,编者结合自己教学和使用Python 语言的经验和感悟,以程序设计为主线,通过例题,简洁通俗讲解程序设计思想和方法,并穿插介绍相关的语言知识,循序渐进地培养学生程序设计能力。本书对那些渴望掌握Python 语言而又心存畏惧的初学者而言是一个很好的选择。
教学改革的重点之一,就是要抓学生实践动手能力的培养,学生的能力是实现就业的决定因素,而就业率又是体现教育质量的重要指标。杭州师范大学作为国内首家服务外包本科学院以及*、商务部在江苏、浙江两省开展地方高校计算机学院培养服务外包人才试点工作单位,我们实施了程序设计课程的教学改革,在教学内容、教学方法、教学手段和考核方式上,基本形成了比较完整的体系,目的就是培养学生的程序设计能力,适应社会对软件服务外包人才培养的需求。本书配有iStudy 通用实践评价平台,可实现在线学习、练习、测评与考务管理。本书源于教学改革和教学实践,体现了程序设计教学改革的成果。
读者要获取本书的相关资源,请访问中国铁道出版社网站http://www.tdpress.com/51eds/。
本书由杭州师范大学虞歌主编。在本书编写过程中,参考了部分图书资料和网站资料,在此向其作者表示感谢。本书的出版得到了中国铁道出版社的大力支持,在此表示衷心的感谢。
感谢读者选择本书。由于编者水平和经验有限,书中难免有不足之处,恳请读者提出宝贵意见和建议,使本书日臻完善。编者联系方式:[email protected]。
编
者
2018 年4 月
评论
还没有评论。