高等教育质量工程信息技术系列示范教材 Python开发案例教程
作者:张基温,魏士靖编著
出版时间:2019年版
丛编项: 高等教育质量工程信息技术系列示范教材
内容简介
本书是一本Python基础教材。全书以Python3.0为蓝本,分6章介绍。第1章从模仿计算器进行简单的计算入手,带领读者迈进Python门槛;顺势引导读者掌握Python模块的用法、变量的用法;再进一步引入选择结构和重复结构,使读者有了程序和算法的基本概念,进入程序设计的殿堂。第2章首先介绍Python特有的数据对象与变量之间的关系,然后较详细地介绍了Python各种内置的数据类型。第3章从正常处理和异常处理两个角度介绍Python程序过程的两种基本组织形式:函数和异常处理,并介绍与之相关的名字空间和作用域的概念。第4章把读者从面向过程带到面向类的程序设计,内容包括类与对象、类与对象的通用属性与操作、类的继承。第5章为PythonGUI开发,使读者具备开发友好界面程序的能力。第6章为Python应用开发举例,从数据处理和网络应用两个最基本应用领域,培养读者的应用开发能力。本书力求内容精练、概念准确、代码便于阅读、习题丰富全面、适合教,也容易学;例子分正反两种,以利正本清源。为了便于初学者很快使用Python以丰富的模块支撑的环境,书后给出了Python内置函数、Python文件和目录管理、Python3.0标准异常类体系和Python标准模块库目录。
目录
目录
第1章 一个万能计算器 1
1.1 简单算术计算 1
1.1.1 Python算术操作符 1
1.1.2 回显与print() 2
1.1.3 Python表达式计算规则 3
练习1.1 3
1.2 使用内置数学函数计算 4
1.2.1 函数与内置函数 4
1.2.2 Python计算型内置函数对象 4
练习1.2 5
1.3 利用math模块进行计算 6
1.3.1 模块化程序设计与Python模块 6
1.3.2 导入模块或对象 6
1.3.3 math模块中的常量与函数 8
练习1.3 10
1.4 使用变量计算 11
1.4.1 数据对象、变量与赋值 11
1.4.2 几种不同的赋值方式 12
1.4.3 Python标识符与保留字 13
1.4.4 input()函数 14
练习1.4 15
1.5 选择型计算 16
1.5.1 if-else型选择的基本结构 16
1.5.2 选择表达式 17
1.5.3 if-else蜕化结构 18
1.5.4 if-else嵌套 18
1.5.5 if-elif选择结构 19
练习1.5 20
1.6 重复型计算 21
1.6.1 while语句 22
1.6.2 for语句 23
1.6.3 循环嵌套 25
1.6.4 在IDLE中执行功能完整的代码段 27
1.6.5 循环中断语句与短路控制 28
练习1.6 29
1.7 穷举与迭代 30
1.7.1 穷举 30
1.7.2 迭代 32
练习1.7 37
第2章 Python数据对象 40
2.1 Python数据对象的属性 40
2.1.1 Python数据对象的类型 40
2.1.2 Python对象的身份码ID与判是操作 43
2.1.3 可变对象与不可变对象 45
2.1.4 Python数据对象生命期与垃圾回收 46
2.1.5 Python小整数对象池与大整数对象池 49
练习2.1 51
2.2 Python基本数据类型 52
2.2.1 bool类型 52
2.2.2 int类型 56
2.2.3 float类型 58
2.2.4 complex类型 59
2.2.5 Python数据类型转换 60
练习2.2 62
2.3 序列 64
2.3.1 序列对象的构建 64
2.3.2 序列通用操作 66
2.3.3 列表的个性化操作 72
练习2.3 74
2.4 字符串 77
2.4.1 字符串编码与解码 77
2.4.2 字符串的个性化操作 81
2.4.3 字符串格式化与format()方法 83
2.4.4 print()函数的格式控制 86
2.4.5 正则表达式 89
练习2.4 95
2.5 字典与集合 96
2.5.1 字典 96
2.5.2 集合 100
练习2.5 103
2.6 Python数据文件 106
2.6.1 数据文件概述 106
2.6.2 open()函数 107
2.6.3 文件属性与方法 109
练习2.6 110
第3章 Python过程组织与管理 112
3.1 Python函数 112
3.1.1 函数及其关键环节 112
3.1.2 Python函数参数技术 116
3.1.3 Python函数的第一类对象特性 120
3.1.4 函数标注 121
3.1.5 递归 122
3.1.6 lambda表达式 125
练习3.1 125
3.2 Python异常处理 129
3.2.1 异常处理的基本思路与异常类型 129
3.2.2 try-except语句 131
3.2.3 异常类型的层次结构 133
3.2.4 else子句与finally子句 133
3.2.5 异常的人工触发:raise与assert 134
练习3.2 135
3.3 Python命名空间与作用域 136
3.3.1 Python命名空间 136
3.3.2 Python作用域 139
3.3.3 Python名字解析的LEGB规则 144
练习3.3 145
第4章 面向类的程序设计 147
4.1 类及其组成 147
4.1.1 类模型与类语法 147
4.1.2 对象的生成与_ _init_ _ ()方法 150
4.1.3 最小特权原则与成员访问限制 152
4.1.4 实例方法、静态方法与类方法 155
练习4.1 157
4.2 Python类的内置属性、方法与函数 158
4.2.1 类的内置属性 158
4.2.2 获取类与对象特征的内置函数 160
4.2.3 操作符重载 163
4.2.4 Python类属性配置与管理内置方法 166
练习4.2 173
4.3 类的继承 175
4.3.1 类的继承及其关系测试 176
4.3.2 新式类与object 178
4.3.3 子类访问父类成员的规则 180
4.3.4 子类实例的初始化与super 180
练习4.3 185
第5章 Python GUI开发 188
5.1 组件、布局与事件处理 188
5.1.1 组件 188
5.1.2 布局与布局管理器 192
5.1.3 事件绑定与事件处理 195
练习5.1 200
5.2 GUI程序结构 201
5.2.1 基于tkinter的GUI开发环节 201
5.2.2 面向对象的GUI程序框架 204
练习5.2 206
5.3 GUI制作示例 206
5.3.1 Label与Button 207
5.3.2 Entry与Message 213
5.3.3 Text与滚动条 217
5.3.4 选择框 224
5.3.5 菜单 230
练习5.3 233
第6章 Python应用开发举例 234
6.1 Python数据库操作 234
6.1.1 数据库与SQL 234
6.1.2 用pyodbc访问数据库 235
6.1.3 SQLite3数据库 242
练习6.1 244
6.2 Python Socket编程 245
6.2.1 TCP/IP与Socket 245
6.2.2 Socket模块与Socket对象 249
6.2.3 TCP的Python Socket编程 251
6.2.4 UDP的Python Socket编程 254
练习6.2 256
6.3 Python WWW应用开发 258
6.3.1 WWW及其关键技术 258
6.3.2 urllib模块库 264
6.3.3 urllib.parse模块与URL解析 266
6.3.4 urllib.request模块与网页抓取 267
6.3.5 网页提交表单 270
6.3.6 urllib.error模块与异常处理 271
6.3.7 webbrowser模块 272
练习6.3 273
附录 275
附录A Python内置函数 275
A.1 数学运算 275
A.2 逻辑判断 275
A.3 容器操作 276
A.4 字符串相关 276
A.5 类型转换 278
A.6 I/O操作 278
A.7 反射相关 278
A.8 其他 280
附录B Python 3.0标准异常类结构(PEP 348) 280
附录C 文件与目录管理 281
C.1 文件访问函数 281
C.2 目录操作 282
C.3 获取或判断文件和路径属性的函数 282
C.4 路径操作 283
C.5 文件压缩(zipfile模块) 283
C.6 文件复制(shutil模块) 285
附录D Python标准模块库目录 285
D.1 文本 285
D.2 二进制数据 286
D.3 数据类型 286
D.4 数学 286
D.5 函数式编程 286
D.6 文件与目录 286
D.7 持久化 287
D.8 压缩 287
D.9 文件格式化 287
D.10 加密 287
D.11 操作系统工具 287
D.12 并发与并行 288
D.13 进程间通信 288
D.14 互联网相关 288
D.15 HTML与XML 289
D.16 互联网协议与支持 289
D.17 多媒体 290
D.18 国际化 290
D.19 编程框架 290
D.20 Tk图形用户接口 290
D.21 开发工具 291
D.22 调试 291
D.23 运行时 291
D.24 解释器 291
D.25 导入模块 292
D.26 Python语言 292
D.27 其他 292
D.28 Windows相关 292
D.29 UNIX相关 292
参考文献 294