新書推薦:
《
中国历代竹器图谱与数字活化
》
售價:HK$
572.7
《
EDA技术与设计(第2版)
》
售價:HK$
87.3
《
揉碎浪漫(全两册)
》
售價:HK$
72.2
《
古籍善本
》
售價:HK$
552.0
《
人民币国际化报告2024:可持续全球供应链体系与国际货币金融变革
》
售價:HK$
89.7
《
道德经新注 81幅作者亲绘哲理中国画,图文解读道德经
》
售價:HK$
147.2
《
清俗纪闻
》
售價:HK$
101.2
《
镜中的星期天
》
售價:HK$
76.2
|
內容簡介: |
本书共分两部分,*部分包括计算思维与Python简介、算法、数据与计算、流程控制、函数、模块、数据文件、面向对象编程、异常处理、图形界面设计和绘制曲线,为方便教学,每章*后均附有简答题和编程题;第二部分给出了7个实验,即数据与计算、流程控制、函数、数据文件、面向对象编程、图形界面设计和绘制曲线。 本书按课程教学模式来组织内容,既适合教师授课,也适合学生自学;同时,本书面向应用需求,教学内容先进,尽力帮助学生理解并掌握计算思维和编程技术。 本书内容丰富、图文并茂,讲解简明易懂、循序渐进、深入浅出,可作为高等学校非计算机专业学生学习Python程序设计课程的教材,也可作为初学者、Python爱好者的辅助学习资料。
|
目錄:
|
目录
第一部分基 础 知 识
第1章计算思维与Python语言3
1.1程序设计3
1.1.1程序与计算机程序3
1.1.2程序设计步骤5
1.1.3程序设计语言6
1.1.4高级语言分类7
1.2计算思维8
1.2.1计算思维概念9
1.2.2计算思维特征11
1.3Python简介12
1.3.1Python优点12
1.3.2Python缺点14
1.3.3Python主要应用15
1.4Python运行环境16
1.4.1Python下载与安装16
1.4.2Python帮助信息19
1.4.3Python文件夹结构21
1.4.4Python运行模式21
习题127第2章算法29
2.1程序设计方法29
2.1.1结构化程序设计方法29
2.1.2面向对象程序设计方法30
2.2算法32
2.2.1求解问题方式32
2.2.2算法概念32
2.2.3算法特征32
2.3算法表示33
2.3.1使用自然语言描述算法33
2.3.2使用传统流程图描述算法34
2.3.3使用NS图描述算法36
2.3.4使用伪代码描述算法37
2.4常用算法介绍37
2.4.1简单算法37
2.4.2阶乘算法38
2.4.3求斐波那契数算法38
2.4.4求最大公约数算法39
2.4.5判断素数算法40
2.5综合算法介绍40
2.5.1数值计算40
2.5.2穷举算法41
2.5.3查找算法43
2.5.4排序算法44
2.6迭代、递推和递归46
2.6.1迭代46
2.6.2递推47
2.6.3递归48
习题248第3章数据与计算50
3.1输入输出50
3.1.1输入数据50
3.1.2输出数据51
3.2编码风格与简单程序53
3.2.1编码风格53
3.2.2简单程序53
3.3组合符号54
3.3.1标识符54
3.3.2关键字55
3.3.3预定义标识符56
3.3.4命名规则57
3.4数据类型57
3.4.1数据类型及其分类57
3.4.2常量和变量58
3.5数字数据58
3.5.1整型数据58
3.5.2实型数据61
3.5.3分数型数据62
3.5.4复数型数据62
3.6字符串型数据63
3.6.1字符串常量63
3.6.2转义字符63
3.6.3字符串测试函数64
3.6.4字符串运算符65
3.6.5字符串内置函数66
3.7布尔型数据68
3.7.1关系运算68
3.7.2布尔常量69
3.7.3布尔运算69
3.8序列数据70
3.8.1列表70
3.8.2元组74
3.8.3字典74
3.8.4集合76
习题377第4章流程控制80
4.1简单程序与流程控制80
4.1.1简单程序80
4.1.2流程控制语句81
4.1.3测试条件81
4.2分支选择81
4.2.1单分支选择82
4.2.2双分支选择83
4.2.3多分支选择84
4.3循环控制86
4.3.1while语句86
4.3.2range()函数89
4.3.3for语句89
4.3.4循环嵌套94
4.3.5continue、break和pass语句98
4.4列表处理101
4.4.1一维列表102
4.4.2二维列表107
4.5查找与排序114
4.5.1折半查找114
4.5.2排序115
4.6字符串处理118
4.6.1单个字符串118
4.6.2多个字符串122
习题4123第5章函数125
5.1函数定义与调用125
5.1.1函数定义与调用125
5.1.2嵌套调用128
5.1.3返回值类型与函数类型129
5.1.4返回列表130
5.2形式参数与实在参数130
5.2.1简单变量作为实参131
5.2.2一维列表作为实参137
5.2.3二维列表作为实参139
5.2.4可变参数139
5.3变量的作用域140
5.3.1全局变量与局部变量140
5.3.2global语句141
5.3.3变量同名143
5.4匿名函数144
5.4.1lambda函数144
5.4.2程序示例144
5.5递归函数145
5.5.1递归函数及其调用145
5.5.2程序示例145
习题5151第6章模块152
6.1模块152
6.1.1导入模块152
6.1.2导入模块成员153
6.1.3模块搜索路径154
6.2数值类模块155
6.2.1math模块155
6.2.2cmath模块157
6.2.3decimal模块157
6.2.4fractions模块159
6.3random模块161
6.3.1常用函数161
6.3.2程序示例163
6.4时间类模块165
6.4.1time模块167
6.4.2datetime模块171
6.4.3calendar模块172
6.5os模块174
6.5.1常用函数174
6.5.2程序示例176
6.6sys模块178
6.6.1常用函数178
6.6.2命令行参数179
6.7自定义模块180
6.7.1主模块181
6.7.2自定义模块示例182
6.7.3Python编译文件183
6.8自定义包183
6.8.1包与模块的组织结构183
6.8.2包与模块的导入184
6.8.3自定义包示例185
习题6187第7章数据文件189
7.1文件概述189
7.1.1引言189
7.1.2文件分类189
7.2打开文件与关闭文件191
7.2.1打开文件191
7.2.2关闭文件193
7.3读写文本文件193
7.3.1读取文件函数193
7.3.2读取文本文件194
7.3.3写入文本文件198
7.4读写二进制文件200
7.4.1将字符串转换为字节数据201
7.4.2将字节数据转换为字符串201
7.4.3读写二进制文件202
7.5struct模块202
7.5.1pack、unpack和calcsize函数203
7.5.2程序示例204
7.6fileinput模块206
7.6.1fileinput模块206
7.6.2程序示例206
7.7codecs模块208
7.7.1读取文本文件209
7.7.2写入文本文件209
习题7210第8章面向对象编程212
8.1面向对象编程基础212
8.1.1对象与类212
8.1.2对象特征213
8.1.3继承213
8.1.4多态性与重载214
8.2类的定义和引用215
8.2.1类的构成215
8.2.2类的定义与引用215
8.2.3构造函数和析构函数217
8.2.4实例变量219
8.2.5私有成员与公有成员220
8.2.6公有方法与私有方法221
8.3继承222
8.3.1单继承222
8.3.2多继承223
8.3.3方法重写224
8.4多态与运算符重载224
8.4.1多态224
8.4.2运算符重载225
习题8226第9章异常处理229
9.1程序错误及其处理229
9.1.1程序错误类型229
9.1.2程序运行错误处理方法232
9.2标准异常233
9.2.1标准异常233
9.2.2标准异常示例234
9.3抛出异常和捕捉异常235
9.3.1抛出异常235
9.3.2捕捉异常237
9.4断言240
9.4.1断言概念240
9.4.2assert语句240
9.5自定义异常类242
9.5.1引言242
9.5.2程序示例242
习题9243第10章图形界面设计245
10.1Python图形界面设计245
10.1.1Python图形开发库245
10.1.2Tkinter的常用组件与标准属性246
10.1.3创建窗口246
10.2布局管理247
10.2.1pack布局的管理247
10.2.2grid布局的管理249
10.2.3place布局的管理251
10.3Tkinter的常用组件252
10.3.1Label组件252
10.3.2Button组件253
10.3.3Entry和Text组件255
10.3.4Listbox组件257
10.3.5Radiobutton和Checkbutton组件259
10.3.6Frame与LabelFrame组件261
10.3.7Scrollbar组件262
10.3.8Menu组件264
10.3.9对话框266
10.4事件处理271
10.4.1事件类型271
10.4.2事件绑定273
10.4.3键盘事件275
习题10276第11章绘制曲线278
11.1Canvas组件278
11.1.1Canvas对象及其通用属性278
11.1.2屏幕坐标279
11.2绘制图形279
11.2.1绘制直线、矩形和多边形279
11.2.2绘制圆弧和椭圆282
11.3显示位图、图像与文本285
11.3.1显示位图285
11.3.2显示图像286
11.3.3显示文本287
11.4控制图形288
11.4.1删除图形288
11.4.2移动图形289
11.4.3位置坐标289
11.4.4缩放图形290
11.4.5绘制函数图形292
11.5体验内置的turtle演示程序293
11.5.1利用IDLE内置程序293
11.5.2利用安装文件夹中的演示程序294
11.6turtle绘图296
11.6.1turtle模块296
11.6.2应用案例297
11.7分形图形301
11.7.1Koch曲线301
11.7.2Hilbert曲线302
11.7.3分形树304
11.8显示字体306
11.8.1通过元组显示字体306
11.8.2通过Font对象显示字体307
习题11308
第二部分实验
实验Ⅰ数据与计算313实验Ⅱ流程控制316实验Ⅲ函数319实验Ⅳ数据文件323实验Ⅴ面向对象编程325实验Ⅵ图形界面设计329实验Ⅶ绘制曲线333参考文献336
|
內容試閱:
|
前言
Python语言是由荷兰的Guido van Rossum于1989年发明的,是一种适合教学的通用语言,其符号体系与英语的描述方式完全一致,具有极佳的阅读性。初学者在编程时只需专注求解问题本身,而不必花过多时间和精力在语言的语法细节和具体实现上,因此在培养计算思维方面具有明显优势。计算思维包括合理的问题抽象、精准的程序描述和自动化的机器实现。在丰富的数据类型、完备的计算能力和多种运行模式这3个方面,Python语言均提供了很大支持。伴随着多媒体技术、互联网 、大数据、云计算、物联网、人工智能等高新技术的发展, Python语言也与时俱进地迅猛发展起来。
1. 本书特点
本书主要特点体现在如下两个方面。
(1) 适合师生教学。本书参照教育部2015年11月制定的《大学计算机基础课程教学基本要求》进行编写,教学内容组织合理、条理清晰,在基础知识部分,为了便于学习,每章均配有简答题和编程题;实验部分是程序设计和计算思维方面的机器实现,利用与书配套的电子课件、习题答案、实验素材等教学资源,更便于教学和上机实验。
(2) 章节结构合理。本书按照Python语言和计算思维概念安排各个章节,易于读者理解。每章均按照语法描述、示例讲解和编程实现的逻辑来介绍程序设计,有利于学生对照学习,提高学习效率。本书采用循序渐进的学习模式,适合初、中级读者掌握编程方法,并最终能够编写中小规模的实用程序。
2. 章节安排
本书按课程教学方式来组织内容,因此适合教师授课,也适合学生阅读。全书共分两部分,第一部分包括11章,具体内容安排如下。
第1章内容包括程序、程序设计与操作步骤、计算机语言与分类、程序翻译等与计算机求解问题相关的知识,问题求解、设计系统和人类行为理解这3个计算思维的应用领域, Python 语言的概貌、下载与安装、帮助信息系统以及5种运行模式。
第2章内容包括面向过程和面向对象的程序设计方法;算法概念以及如交换两个变量内容、取绝对值、阶加、阶乘、求最大公约数、求斐波那契数列、判断素数等常用算法,数值计算、穷举算法、查找算法、排序算法等综合算法方面的运用,以及迭代、递推、递归等。
第3章内容包括Python的输入输出操作、编码风格、简单程序、组合符号、数据类型概念、数字、字符串、布尔数据、列表、元组、字典、集合等数据类型及其运用。
第4章内容包括分支选择和循环控制的语句与编程,包含if、while、for、continue、break、pass语句和range函数,以及列表处理、查找、排序和字符串处理编程案例。
第5章内容包括自定义函数及其调用、嵌套调用、返回列表、形式参数与实在参数、全局变量与局部变量、lambda函数、递归函数等。
第6章内容包括math、cmath、decimal、fractions、random、time、datetime、calendar、time、os、sys等模块和运用,以及如何自定义模块和包。
第7章内容包括数据文件的概念,文件的打开与关闭,如何读写ASCII文件和二进制文件,文件读写操作的struct模块、fileinput模块和codecs模块及其运用。
第8章内容包括对象、类、继承、多态等面向对象编程的基本概念,类的定义和引用,继承、多态和重载的实现方法。
第9章内容包括Python语言的异常处理机制,如何抛出和捕捉异常,在Python程序中如何处理异常以及如何自定义异常类。
第10章内容包括Python图形开发库的介绍,布局的管理按钮、输入框、框架、标签、列表框、菜单、滚动条、文本框、滑动杆、面板、对话框、消息框等图形界面对象的使用,以及事件和事件处理程序的编写。
第11章内容包括如何使用画布(Canvas)组件绘制直线、矩形、多边形、圆弧、椭圆,显示位图、图像与文本,控制与变换图形,用Python内置的海龟程序和海龟绘图,生成分形(Fractal)图形,以及两种显示字体的方法。
第二部分包括7个实验,即数据与计算、流程控制、函数、数据文件、面向对象编程、图形界面设计和绘制曲线。
3. 教学建议
课堂教学和上机实验的建议学时与安排见下表。章节(48学时)课堂教学(32学时)上机实验(16学时)第1章计算思维与Python简介2第2章算法2第3章数据与计算43第4章流程控制53第5章函数32第6章模块3第7章数据文件32第8章面向对象编程22第9章异常处理2第10章图形界面设计32第11章绘制曲线324. 图例说明
由于Python使用了5种运行模式,为了让读者方便区分并获取精确内容,已对全书中的图例进行统一剪裁,以尽量减少冗余信息。当然,若图例本身完全不能剪裁,则会保留原图不变。
(1) Windows窗口:剪裁外框中的空白区域。
(2) 程序运行结果:剪裁全部外框,只保留上边框至RESTART标记,以及右边框至后续23个等号处。
(3) IDLE交互窗口:剪裁全部外框。
(4) IDLE命令行窗口:剪裁全部外框,保留标题栏。
(5) Windows命令提示符窗口:剪裁全部外框,保留标题栏。
(6) 图形界面设计和绘制曲线两章:剪裁外框中的空白区域。
本书由陈杰华制定全书的整体框架并负责统稿工作、编写主要内容,四川大学计算机教学中心的孟宏源和戴丽娟参与编写部分内容、资料整理、代码调试、图片制作、结构设计等工作。在本书编写过程中,得到四川大学教务处、计算机学院和计算机教学中心的领导和老师的许多帮助,在此表示由衷感谢。在本书编写过程中,翻阅了大量文献,很受启发,在此向所有前辈和学者表示由衷的敬意和感谢。最后感谢清华大学出版社相关编校人员为本书出版所做工作。
本书配套技术问题、索要例题与习题源程序文件、电子教案和教学素材,可从清华大学出版社本书页面下载,也可以发送电子邮件联系我们寻求帮助。编者电子邮件地址为cjh028@126.com和chenjiehua@scu.edu.cn。
由于作者水平有限,书中难免有不足之处,恳请广大前辈、学者和读者批评指正。
2018年10月
|
|