书海网短评:
适读人群:本书可作为高等学校计算机程序设计课程的教材,也可供社会各类工程技术与科研人员阅读参考。以讲解Python语言基础及应用为主,适合高等院校非计算机专业程序设计课程。Py
以讲解Python语言基础及应用为主,适合高等院校非计算机专业程序设计课程。
Python语言不仅语法优雅、清晰、简洁,而且具有大量的第三方函数模块,因此很适合初学者作为程序设计入门语言进行学习,对学科交叉应用也很有帮助。《Python语言程序设计》介绍Python语言程序设计的基础知识。《Python语言程序设计》以Python作为实现工具,介绍程序设计的基本思想和方法,培养学生利用Python语言解决各类实际问题的开发能力。在编写过程中,以程序设计应用为导向,突出问题求解方法与思维能力训练。《Python语言程序设计》共13章,主要内容有Python语言基础、顺序结构、选择结构、循环结构、字符串与正则表达式、列表与元组、字典与集合、函数与模块、面向对象程序设计、文件操作、异常处理、图形绘制、图形用户界面设计。《Python语言程序设计》的附录部分是实验指导,其中设计了15个实验,以方便读者上机练习。
《Python语言程序设计》可作为高等学校计算机程序设计课程的教材,也可供社会各类工程技术与科研人员阅读参考。
刘卫国,现任中南大学信息科学与工程学院党委书记,主要从事网络与信息安全、软件工程、智能信息处理与系统方向的研究。已出版多部教材、专著。
目录
第1章Python语言基础1
1.1Python语言概述1
1.1.1Python语言的发展历史1
1.1.2Python语言的特点2
1.1.3Python语言的应用领域3
1.2Python语言的开发环境4
1.2.1Python系统的下载与安装4
1.2.2系统环境变量的设置4
1.2.3Python程序的运行5
1.3常量与变量9
1.4Python数据类型12
1.4.1数值类型12
1.4.2字符串类型14
1.4.3布尔类型16
1.4.4复合数据类型17
1.5常用系统函数18
1.5.1常用模块函数19
1.5.2常用内置函数22
1.6基本运算25
1.6.1算术运算25
1.6.2位运算28
习题129
第2章顺序结构32
2.1程序设计概述32
2.1.1程序设计的基本步骤32
2.1.2算法及其描述33
2.2Python程序的书写规则37
2.2.1初识Python程序37
2.2.2Python语句缩进规则38
2.2.3Python语句行与注释39
2.3赋值语句40
2.3.1赋值语句的一般格式40
2.3.2复合赋值语句41
2.3.3多变量赋值41
2.4数据输入/输出42
2.4.1标准输入/输出43
2.4.2格式化输出44
2.5顺序结构程序举例48
习题250
第3章选择结构53
3.1条件的描述53
3.1.1关系运算53
3.1.2逻辑运算54
3.1.3测试运算55
3.2选择结构的实现56
3.2.1单分支选择结构56
3.2.2双分支选择结构57
3.2.3多分支选择结构59
3.2.4选择结构的嵌套60
3.3条件运算61
3.4选择结构程序举例62
习题364
第4章循环结构67
4.1while循环结构67
4.1.1while语句67
4.1.2while循环的应用69
4.2for循环结构71
4.2.1for语句71
4.2.2for循环的应用73
4.3循环控制语句75
4.3.1break语句76
4.3.2continue语句77
4.3.3pass语句78
4.4循环的嵌套78
4.5循环结构程序举例79
习题483
第5章字符串与正则表达式86
5.1字符串编码86
5.2字符串的索引与分片88
5.2.1字符串的索引88
5.2.2字符串的分片89
5.3字符串的操作90
5.3.1字符串连接操作91
5.3.2字符串逻辑操作92
5.3.3字符串的常用方法93
5.4字节类型97
5.5正则表达式99
5.5.1正则表达式元字符99
5.5.2正则表达式模块100
5.6字符串应用举例104
习题5107
第6章列表与元组109
6.1序列的通用操作109
6.1.1序列的索引与分片109
6.1.2序列的计算111
6.1.3序列处理函数112
6.1.4序列拆分赋值114
6.2列表的专有操作115
6.2.1列表的基本操作115
6.2.2列表的常用方法117
6.3元组与列表的比较119
6.4序列的应用120
6.4.1数据排序120
6.4.2数据查找123
6.4.3矩阵运算125
习题6128
第7章字典与集合131
7.1字典概述131
7.2字典的操作132
7.2.1字典的创建132
7.2.2字典的常用操作133
7.2.3字典的常用方法134
7.2.4字典的遍历136
7.3集合的操作137
7.3.1集合的创建137
7.3.2集合的常用运算138
7.3.3集合的常用方法140
7.4字典与集合的应用142
习题7143
第8章函数与模块146
8.1函数的定义与调用146
8.1.1函数的定义146
8.1.2函数的调用147
8.2函数的参数传递149
8.2.1参数传递方式149
8.2.2参数的类型151
8.3两类特殊函数153
8.3.1匿名函数153
8.3.2递归函数155
8.4装饰器157
8.4.1无参数装饰器157
8.4.2有参数装饰器159
8.4.3多重装饰器159
8.5变量的作用域160
8.5.1局部变量160
8.5.2全局变量161
8.6模块162
8.6.1模块的定义与使用162
8.6.2Python程序结构164
8.6.3模块的有条件执行165
8.7函数应用举例166
习题8169
第9章面向对象程序设计172
9.1面向对象程序设计概述172
9.1.1面向对象的基本概念172
9.1.2从面向过程到面向对象173
9.2类与对象175
9.2.1类的定义175
9.2.2对象的创建和使用175
9.3属性和方法176
9.3.1属性和方法的访问控制176
9.3.2类属性和实例属性177
9.3.3类的方法178
9.4继承和多态181
9.4.1继承181
9.4.2多重继承182
9.4.3多态183
9.5面向对象程序设计应用举例184
习题9186
第10章文件操作189
10.1文件的概念189
10.2文件的打开与关闭190
10.2.1打开文件190
10.2.2关闭文件192
10.3文本文件的操作192
10.3.1文本文件的读取192
10.3.2文本文件的写入195
10.4二进制文件的操作197
10.4.1文件的定位197
10.4.2二进制文件的读写198
10.5文件管理方法201
10.6文件操作应用举例202
习题10205
第11章异常处理207
11.1异常处理概述207
11.2捕获和处理异常208
11.2.1Python中的异常类208
11.2.2使用try-except语句209
11.2.3使用try-finally语句211
11.3断言处理211
11.4主动引发异常与自定义异常类212
11.4.1主动引发异常212
11.4.2自定义异常类213
习题11213
第12章图形绘制215
12.1Tkinter图形库概述215
12.1.1tkinter模块215
12.1.2主窗口的创建215
12.1.3画布对象的创建216
12.1.4画布对象的坐标系217
12.1.5画布中的图形对象217
12.2画布绘图219
12.2.1绘制矩形219
12.2.2绘制椭圆与圆弧222
12.2.3绘制线条与多边形224
12.2.4显示文本与图像226
12.3图形的事件处理228
12.4turtle绘图与Graphics图形库230
12.4.1turtle绘图230
12.4.2Graphics图形库231
12.5图形应用举例238
12.5.1验证Fibonacci数列的性质238
12.5.2统计图表239
12.5.3分形曲线242
12.5.4利用动画模拟天体运动244
习题12245
第13章图形用户界面设计247
13.1创建图形用户界面的步骤247
13.2常用控件249
13.2.1提示性控件249
13.2.2按钮控件251
13.2.3选择性控件252
13.2.4文本框与框架控件258
13.2.5菜单与顶层窗口控件261
13.2.6ttk子模块控件263
13.3对象的布局方式263
13.3.1pack布局管理器263
13.3.2grid布局管理器264
13.3.3place布局管理器265
13.4对话框266
13.4.1自定义对话框266
13.4.2标准对话框266
13.5事件处理267
13.5.1事件处理程序267
13.5.2事件绑定269
13.6图形用户界面应用举例271
习题13273
附录A实验指导275
实验1Python语言基础275
实验2顺序结构程序设计276
实验3选择结构程序设计277
实验4循环结构程序设计278
实验5常用的算法设计方法280
实验6字符串与正则表达式的应用280
实验7列表与元组的应用281
实验8字典与集合的应用282
实验9函数的应用283
实验10面向对象程序设计方法285
实验11文件操作286
实验12异常处理287
实验13图形绘制289
实验14图形用户界面设计290
实验15综合程序设计291
参考文献293
前言
计算机程序设计基础是高校计算机基础教学的核心课程,它以一种高级程序设计语言作为实现工具,介绍程序设计的基本思想和方法,既可为后继相关计算机课程学习奠定基础,也有助于学生更加深刻地理解计算机求解问题的基本思想和方法,因而计算机程序设计课程也是计算思维能力培养的重要载体,应成为对学生进行计算思维能力培养最直接、最具操作性的课程。
传统的高级程序设计语言(如C语言)往往为了兼顾性能而采用较为复杂灵活的语法,所以需要掌握的细节概念非常庞杂,即使是实现最简单的功能,也要涉及很多概念,如一个C程序的函数定义,这制约了计算机作为普适计算工具在各学科专业的深入应用。Python语言是一种功能强大的程序设计语言,在支持面向过程程序设计的同时还支持面向对象程序设计,它以优雅、清晰、简洁的语法特点,能将初学者从语法细节中摆脱出来,而专注于解决问题的方法、分析程序本身的逻辑和算法。Python语言还具有大量优秀的第三方函数模块,对学科交叉应用很有帮助。经过20多年的发展,Python语言已经成为一门重要的程序设计语言。目前,基于这种语言的相关技术正在飞速发展,用户数量急剧扩大,在软件开发领域有着广泛的应用。
《Python语言程序设计》的基本定位是,将Python作为第一门程序设计语言,介绍Python语言程序设计的基础知识。《Python语言程序设计》以Python作为实现工具,介绍程序设计的基本思想和方法,培养学生利用Python语言解决各类实际问题的开发能力。《Python语言程序设计》共13章,主要内容有Python语言基础、顺序结构、选择结构、循环结构、字符串与正则表达式、列表与元组、字典与集合、函数与模块、面向对象程序设计、文件操作、异常处理、图形绘制、图形用户界面设计。书中内容不拘泥于语法细节,而以程序设计应用为导向,突出问题求解方法与思维能力训练。
学习Python程序设计,上机实践十分重要。只有通过上机实践,才能熟练掌握Python的语法知识,充分理解程序设计的基本思想和方法,并将所学知识应用到实际中去。为了方便读者上机练习,《Python语言程序设计》的附录部分是实验指导,其中设计了15个实验,每个实验都和课程学习内容相配合,读者可以根据实际情况从每个实验中选择部分内容作为上机练习。作为一门程序设计的入门课程,实验内容既包含与Python语法规则相关的内容,也包含许多实际问题的程序设计,从而增强学生的学习兴趣,提高学生分析问题和解决问题的能力。
在Python发展过程中,形成了Python2.x和Python3.x两个版本,目前正朝着Python3.x进化。Python2.x和Python3.x两个版本是不兼容的,由于历史原因,原有的大量第三方函数模块是用2.x版实现的,这些代码要修改后才能在3.x上运行。所以有观点认为,为了保证程序能用到这些优秀的第三方函数模块,使用2.x版本是较好的选择。但3.x版本体现了Python的发展,而且近年来Python3.x下的第三方函数模块日渐增多,同时考虑到《Python语言程序设计》是一本Python语言程序设计的基础教材,不涉及过多的第三方资源,所以,《Python语言程序设计》选择Windows操作系统下的Python3.x版本作为程序实现环境(下载安装时的最高版本是Python3.5.1)。
《Python语言程序设计》具有大量算法流程图、程序语句及计算公式等,对于其中的变量,为了方便读者阅读,避免歧义,大多不区分正斜体或上下标等(明显数学公式除外),特此说明。
《Python语言程序设计》可作为高等学校计算机程序设计课程的教材,也可供社会各类工程技术与科研人员阅读参考。
《Python语言程序设计》第1、8~13章由刘卫国编写,第2~6章由蔡立燕编写,第7章及附录A由童键编写,《Python语言程序设计》由刘卫国统稿。此外,参与部分编写工作的还有蔡旭晖、周欣然、刘泽星、刘胤宏、舒卫真等。
由于作者学识水平有限,书中难免存在疏漏或不妥之处,恳请广大读者批评指正。
作者









