从问题到程序-用Python学编程和计算

从问题到程序-用Python学编程和计算

出版信息

裘宗燕 / 机械工业出版社 / 2017-6-1

内容简介

本书是以Python为编程语言、面向计算机科学教育中的程序设计基础课程与编程初学者的入门教材和自学读物。本书以Python为工具,详细讨论了与编程有关的各方面问题,介绍了从初级到高级的许多重要编程技术。本书特别强调编程中的分析和思考、问题的严格化和逐步分解、语言结构的正确选择、程序结构的良好组织,以及程序的正确和安全。书中通过大量实例及其开发过程,展示了好程序的特征和正确的编程工作方法。此外,书中还介绍Python语言的重要细节和工作原理,各章附有大量习题。本书既可以作为高校程序设计相关课程的教材,也适合希望学习Python语言和编程技术的读者阅读和参考。

目录

前言
第1章 程序设计和Python 1
1.1 计算机和程序1
1.1.1 “是什么”和“怎样做”的知识1
1.1.2 计算和程序3
1.1.3 编程语言7
1.2 Python语言简介10
1.2.1 Python语言的发展和应用10
1.2.2 Python系统和IDLE编程环境13
1.3 程序开发15
1.3.1 程序开发过程15
1.3.2 程序错误16
1.3.3 从问题到程序19
练习22
第2章 计算和编程初步 23
2.1 数值表达式和算术23
2.1.1 整数计算23
2.1.2 浮点数和复数27
2.2 数据对象、计算和类型29
2.2.1 对象和类型29
2.2.2 混合类型计算和类型转换30
2.2.3 数值类型和计算的简单总结31
2.3 内置函数和数学函数包32
2.3.1 函数及其使用33
2.3.2 处理数值的内置函数33
2.3.3 数学函数包34
2.4 字符串35
2.4.1 字符串和字符串类型35
2.4.2 字符串操作36
2.5 标识符、变量和赋值38
2.5.1 变量、名字和值38
2.5.2 简单顺序计算40
2.6 简单脚本程序41
2.6.1 脚本的编辑和执行41
2.6.2 程序和输入43
2.7 判断和条件控制45
2.7.1 条件判断和逻辑表达式45
2.7.2 if语句(条件语句)46
2.7.3 编程实例48
2.8 重复计算和循环49
2.8.1 重复计算50
2.8.2 for语句和重复计算51
2.8.3 while语句和迭代53
2.8.4 循环控制56
2.9 计算的抽象和函数56
2.9.1 计算的控制和抽象56
2.9.2 计算的抽象:函数57
2.9.3 函数定义和使用实例60
2.10 若干Python机制及其他62
2.10.1 已讨论的Python机制62
2.10.2 若干Python机制62
2.10.3 Python解释器64
2.11 补充材料64
2.11.1 语言细节65
2.11.2 编程技术70
练习71
第3章 基本编程技术 77
3.1 循环程序设计77
3.1.1 循环的需求和问题78
3.1.2 常见循环形式80
3.1.3 输入循环86
3.2 递归89
3.2.1 递归定义的函数89
3.2.2 乘幂的计算90
3.2.3 循环和递归91
3.2.4 斐波那契数列的计算92
3.2.5 最大公约数97
3.2.6 不容易用循环求解的递归问题100
3.2.7 更复杂的递归情况103
3.3 程序终止性103
3.3.1 调和级数的部分和104
3.3.2 程序终止性不可判定104
3.4 定义函数105
3.4.1 为什么定义函数105
3.4.2 学习定义函数108
3.4.3 函数:两种观点及其联系111
3.4.4 通用和专用的方法117
练习120
第4章 函数和程序结构 124
4.1 作用域、环境和状态124
4.1.1 作用域与函数定义124
4.1.2 环境和状态126
4.1.3 程序执行中的环境变化129
4.1.4 模块和环境133
4.2 函数定义和函数调用135
4.2.1 函数定义的结构135
4.2.2 函数调用中的问题140
4.2.3 带默认值形参和关键字实参143
4.3 编程框架和高阶函数145
4.3.1 编程框架和函数的函数参数145
4.3.2 匿名函数和lambda表达式149
4.3.3 随机数和模拟153
4.3.4 高阶函数155
4.4 程序的测试和调试156
4.4.1 测试157
4.4.2 排除程序里的错误162
4.4.3 使用IDLE的调试功能163
4.4.4 程序测试问题165
4.5 补充材料166
4.5.1 语言细节166
4.5.2 编程技术和规则169
练习169
第5章 数据的组织和操作 172
5.1 组合数据对象172
5.2 表173
5.2.1 简介174
5.2.2 表的构造和操作175
5.2.3 编程实例178
5.3 元组183
5.3.1 基础183
5.3.2 有理数程序包185
5.3.3 打包和拆分187
5.4 序列、不变对象和可变对象189
5.4.1 序列和序列操作189
5.4.2 描述式194
5.4.3 对象、变动和变量关联196
5.4.4 一些程序实例202
5.4.5 表处理204
5.5 字符串及其格式化生成209
5.5.1 字符串操作209
5.5.2 字符串的格式化213
5.5.3 一个简单的交互式计算器216
5.6 字典217
5.6.1 概念和操作218
5.6.2 字典与函数参数221
5.6.3 字典的应用实例222
5.7 集合224
5.7.1 概念和操作224
5.7.2 集合操作226
5.8 程序实例228
5.8.1 多项式计算228
5.8.2 另一个筛法实例231
5.9 若干语言和技术问题232
5.9.1 逻辑类型和逻辑判断232
5.9.2 函数参数的总结235
5.10 补充材料236
5.10.1 语言细节236
5.10.2 编程技术240
练习241
第6章 高级编程技术 248
6.1 文件:使用外存数据248
6.1.1 文件和输入/输出249
6.1.2 Python的文件功能251
6.1.3 文件处理程序实例256
6.2 生成器函数和闭包261
6.2.1 生成器函数261
6.2.2 闭包和装饰器265
6.2.3 编程实例274
6.3 异常和异常处理276
6.3.1 运行中的错误277
6.3.2 异常和异常处理279
6.3.3 异常处理的结构和技术282
6.3.4 try结构和raise语句详述284
6.3.5 预定义异常287
6.3.6 用异常作为控制机制288
6.4 数据处理和持久性291
6.4.1 文本生成291
6.4.2 数据记录和信息管理295
6.4.3 数据持久性300
6.4.4 with语句302
6.5 Python程序的几个问题304
6.5.1 Python程序及其运行304
6.5.2 程序格式307
6.5.3 怎样阅读Python手册308
6.6 补充材料309
6.6.1 语言细节309
6.6.2 编程技术313
练习315
第7章 数据抽象和面向对象编程 320
7.1 数据抽象、类和自定义类型320
7.1.1 类型和数据组合321
7.1.2 对象、类和类型323
7.2 Python的类和对象325
7.2.1 对象和操作325
7.2.2 类定义326
7.2.3 几点说明332
7.2.4 编程实例335
7.3 继承339
7.3.1 继承、基类和派生类340
7.3.2 编程实例344
7.3.3 多继承348
7.3.4 异常和类349
7.4 实例:学校人事管理350
7.4.1 概念分层和基础人员类350
7.4.2 具体人员类的设计和实现355
7.4.3 讨论358
7.5 特殊方法名和特殊功能的类359
7.5.1 容器类和迭代器359
*7.5.2 上下文管理器和with语句363
7.5.3 几个特殊方法名364
7.6 补充材料365
*7.6.1 Python类、对象和方法365
7.6.2 面向对象的技术和方法371
7.6.3 总结373
练习374
第8章 其他编程问题 377
8.1 图形用户界面377
8.1.1 人机界面的问题377
8.1.2 标准库包tkinter和图形用户界面380
*8.1.3 tkinter的ttk包400
8.1.4 GUI的简单应用和问题402
8.1.5 应用程序的GUI设计和实现404
8.1.6 总结和讨论412
8.2 并发程序设计414
8.2.1 并发程序415
8.2.2 Python并发库threading包418
8.2.3 定义自己的线程类422
8.2.4 并发程序的一些问题424
8.2.5 线程间通信和queue包431
8.2.6 一个GUI并发程序实例433
8.2.7 总结和讨论436
练习438
附录A Python语言速查 440
附录B 标准函数 444
附录C 书中使用的几个标准库包 448
附录D IDLE开发环境 449
参考文献及进一步阅读资料 452

本文地址:https://www.codercto.com/books/d/814.html

HTML 压缩/解压工具

HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JS 压缩/解压工具

JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB HSV 转换

RGB HSV 转换

RGB HSV 互转工具