- ISBN:9787121395017
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:352
- 出版时间:2020-09-01
- 条形码:9787121395017 ; 978-7-121-39501-7
内容简介
本书以Python语言及其环境为工具,系统讲解算法的概念、程序设计的基本思想以及常用的程序设计方法。主要内容包括:程序设计基础知识与Python程序设计的基本方法;数据类型的概念及Python程序中的操作方法;算法的概念及应用;类和对象的概念及应用;用户界面设计的一般方法和技能;数据文件、数据库操作的一般方法。 本书注重程序设计理念的优选性、程序设计方法的实用性以及学习过程中的思维连贯性,精心选取必要且实用的教学内容,并根据教学或者自学过程中的实际需求进行编排和讲解。
目录
第1章 程序及程序的运行 1
1.1 程序及程序运行的一般方式 1
1.1.1 程序的一般结构 1
1.1.2 程序设计语言的种类及特点 4
1.1.3 程序运行的一般方式 6
1.2 Python程序设计的一般过程 9
1.2.1 使用Python解释器执行程序 9
1.2.2 使用集成开发环境编写Python程序 12
1.2.3 Python程序的执行方式 14
程序解析1 16
程序1-1 计算并联电阻 16
程序1-2 求解二元一次方程组 17
程序1-3 三个整数排序 19
实验指导1 20
实验1-1 安装并试用Python IDLE 20
实验1-2 编写并运行Python程序 24
第2章 数据的计算机表示与操作 27
2.1 数值型数据和逻辑型数据 27
2.1.1 标识符和名字 27
2.1.2 数字与布尔值 29
2.1.3 数值型变量与逻辑型变量 30
2.1.4 内存组织与变量引用 31
2.1.5 常用内置函数 33
2.2 数据的运算及输入/输出 35
2.2.1 运算符与表达式 35
2.2.2 运算顺序 38
2.2.3 数据的输入/输出 39
2.3 序列和字典 41
2.3.1 字符串的种类及运算 41
2.3.2 列表的特点及运算 43
2.3.3 元组的特点及运算 45
2.3.4 字典的特点及运算 46
程序解析2 49
程序2-1 判定一个5位或者4位整数是否为回文数 49
程序2-2 判断某日是当年第几天 52
程序2-3 计算购物金额 53
实验指导2 55
实验2-1 表达式求值 55
实验2-2 编写并运行程序 57
第3章 算法及程序的控制结构 60
3.1 算法与程序设计 60
3.1.1 算法的概念 60
3.1.2 算法的描述 62
3.1.3 算法的基本特征 63
3.1.4 结构化程序设计思想 64
3.1.5 算法中的数据处理和控制结构 66
3.1.6 算法求解与解析解 69
3.2 程序中的分支语句和循环语句 71
3.2.1 分支语句 71
3.2.2 while语句 72
3.2.3 for语句 74
3.2.4 循环语句和选择语句的嵌套 76
3.2.5 循环控制语句 77
3.3 递推和迭代 78
3.3.1 递推法 79
3.3.2 倒推法 80
3.3.3 递推法与代数解法 82
3.3.4 迭代法 83
程序解析3 85
程序3-1 四则算术计算器 85
程序3-2 查找指定范围内的完全数 87
程序3-3 约瑟夫问题 89
程序3-4 验证哥德巴赫猜想 91
程序3-5 求多项式的值 93
实验指导3 95
实验3-1 三种基本结构 95
实验3-2 倒推法、递推法与迭代法及其他算法 98
第4章 函数与模块 101
4.1 函数及函数的参数 101
4.1.1 函数的定义和调用 101
4.1.2 参数的传递 103
4.1.3 参数的种类 105
4.2 函数的嵌套与递归调用 106
4.2.1 函数的嵌套 106
4.2.2 变量的作用域 108
4.2.3 函数的递归调用 110
4.2.4 递归函数 112
4.2.5 尾递归 113
4.3 函数式程序设计 115
4.3.1 函数式程序中的函数 115
4.3.2 匿名函数 117
4.3.3 内置高阶函数 119
4.3.4 控制结构的函数式转换 120
4.3.5 闭包及装饰器 123
4.3.6 迭代器与生成器 125
4.3.7 偏函数 127
程序解析4 128
程序4-1 鉴别一个日期是否有效 128
程序4-2 查找指定范围内的循环素数 130
程序4-3 利用蒙特卡罗法计算定积分 131
程序4-4 对数组中各元素进行二路归并排序 134
程序4-5 通过埃拉托色尼筛法寻找指定范围内的素数 135
程序4-6 使用装饰器检测函数的执行时间和时长 138
实验指导4 139
实验4-1 函数的定义和调用 139
实验4-2 函数的嵌套与递归调用 142
实验4-3 函数式程序设计 144
第5章 面向对象程序设计 146
5.1 类及类的实例 146
5.1.1 面向对象程序设计思想 146
5.1.2 类的定义 148
5.1.3 类的实例 150
5.1.4 类的私有成员 152
5.1.5 类方法和静态方法 153
5.2 类的继承性和多态性 155
5.2.1 面向对象程序的特点 155
5.2.2 类的继承 156
5.2.3 类的组合 158
5.2.4 类的多重继承 159
5.2.5 函数和运算符重载 161
5.2.6 类的多态性 164
5.3 模块与包 167
5.3.1 模块 167
5.3.2 命名空间 170
5.3.3 包 171
程序解析5 173
程序5-1 员工评优的命令式程序、函数式程序和面向对象程序 173
程序5-2 组合实现点类、圆类和矩形类 176
程序5-3 继承与组合实现通讯录类 178
程序5-4 包含类方法和静态方法的日期类 180
实验指导5 183
实验5-1 类的定义及实例的操作 183
实验5-2 类的继承性 185
第6章 异常处理及程序调试 189
6.1 异常处理 189
6.1.1 处理异常情况的传统方式 189
6.1.2 Python的异常处理机制 191
6.1.3 异常对象及自定义异常 192
6.2 程序的测试和调试 194
6.2.1 程序测试方式及白盒测试用例设计 194
6.2.2 黑盒测试及测试用例设计 196
6.2.3 命令行参数 198
6.2.4 使用断言调试程序 201
6.2.5 使用日志调试程序 202
6.2.6 使用pdb包调试程序 203
程序解析6 205
程序6-1 try…except结构实现的文本文件查找操作 205
程序6-2 自定义异常――求解三角形面积 207
程序6-3 用于逻辑覆盖测试的程序 209
程序6-4 使用命令行参数和日志求解斐波那契序列 210
实验指导6 213
实验6-1 异常的捕捉与处理 213
实验6-2 程序的测试和调试 215
第7章 图形用户界面程序 217
7.1 创建GUI程序 217
7.1.1 创建GUI窗体 217
7.1.2 控件及其属性 219
7.1.3 控件的布局 222
7.1.4 事件处理 223
7.2 菜单与对话框 226
7.2.1 菜单栏与弹出菜单 227
7.2.2 标准消息框 229
7.2.3 标准输入对话框 231
7.2.4 标准文件对话框 232
7.2.5 标准颜色对话框 234
7.3 绘图程序 235
7.3.1 Canvas组件 236
7.3.2 Canvas组件的功能 237
7.3.3 Turtle库的画图命令 239
7.3.4 Turtle库的控制命令 240
程序解析7 242
程序7-1 奖金计算器 243
程序7-2 四则运算器 245
程序7-3 货款计算器 247
程序7-4 画几何图形程序 249
程序7-5 调用Tkinter库的Canvas组件画函数图像 251
程序7-6 导入Turtle库画函数图像 253
实验指导7 254
实验7-1 创建GUI程序 255
实验7-2 创建使用菜单和对话框的程序 257
实验7-3 创建绘图程序 259
第8章 数据查找与存取 261
8.1 文字的计算机表示 261
8.1.1 ASCII码 261
8.1.2 GB 2312―80汉字编码标准 263
8.1.3 GB 18030汉字编码标准 265
8.1.4 Unicode标准 268
8.1.5 Unicode字符的存储格式 270
8.2 正则表达式 272
8.2.1 正则表达式概念 272
8.2.2 正则表达式模式 273
8.2.3 正则表达式中的元字符 275
8.2.4 正则表达式对象 277
8.2.5 正则表达式的匹配 279
8.2.6 正则表达式的切分、分组与替换 281
8.3 数据文件的存取 282
8.3.1 数据文件的概念 282
8.3.2 文件的打开和关闭 284
8.3.3 文件的打开模式 285
8.3.4 文件对象的属性 287
8.3.5 文件的读取和写入 288
8.4 简单爬虫 289
8.4.1 HTTP协议与URL网址 289
8.4.2 HTTP请求与响应 290
8.4.3 爬取静态网页 292
8.4.4 Request对象 293
8.4.5 爬虫基本流程 295
程序解析8 297
程序8-1 正则表达式的使用 298
程序8-2 爬取一个网页上的所有批图片 299
程序8-3 爬取同一个URL的多个分页 301
实验指导8 303
实验8-1 正则表达式中元字符的使用 303
实验8-2 正则表达式的综合应用 305
实验8-3 简单爬虫及数据文件读/写 306
第9章 数据库连接与操纵 308
9.1 数据库系统组成 308
9.1.1 数据库的概念 308
9.1.2 数据库系统的功能 310
9.1.3 数据库系统组成 311
9.2 数据库管理系统 313
9.2.1 关系数据库 313
9.2.2 数据库管理系统的功能 315
9.2.3 常见数据库管理系统 316
9.3 SQL及其数据库操作 318
9.3.1 SQL的功能与特点 318
9.3.2 SQL语句 320
9.3.3 创建SQLite数据库 323
9.3.4 SQLite数据库的数据查询与更新 325
9.3.5 Python程序操作SQLite数据库 327
程序解析9 329
程序9-1 创建SQLite数据库 329
程序9-2 SQLite库的数据录入 331
程序9-3 SQLite库的数据查询 332
实验指导9 334
实验9-1 创建产品数据库 334
实验9-2 产品数据库的数据录入、查询与修改 335
参考文献 337
作者简介
姚普选,理学硕士,高级工程师。1978年3月参加工作。1995年从西安交通大学理学院调入该校电信学院,从事计算机基础课教学工作。1996年8月退休。主讲过计算机程序设计(C++、Delphi、Visual BASIC、C#、Python等)、软件开发技术基础、大学计算机基础、微机原理及接口技术、数据库(dBASE、Access、SQL Server等)、数据结构等多门计算机课程,其中前4门都是***精品课程。
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0 -
贝叶斯推理与机器学习
¥139.3¥199.0