下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
读书 > 编程语言 >Python > Python程序设计

Python程序设计

综合评级:★★★★★

定价:79.00

作者:[美]戴维I.施耐德

出版社:机械工业出版社

出版日期:2016年3月

页数:369

字数:231000

ISBN:9787111526278

书籍介绍
本书通过阐述Python语言的基础知识,以及使用Python语言的实际开发应用实例,来介绍如何使用计算机进行问题求解。丰富的例子和习题展示了在真实世界中是如何使用计算机的。目前Python在软件产业中已经成为最广泛使用的编程语言之一,对于初学者,Python也是理解计算机程序开发的理想工具。
相关课程
目录

目 录

An Introduction to Programming Using Python

出版者的话

译者序

前言

第1章 计算与问题求解简介 1

1.1 计算与Python简介 1

1.2 程序开发周期 3

1.2.1 在计算机上执行任务 3

1.2.2 程序规划 4

1.3 编程工具 4

1.3.1 流程图 5

1.3.2 伪代码 6

1.3.3 层次结构图 7

1.3.4 判断结构 7

1.3.5 判断纽约按数字编号街道方向的算法 8

1.3.6 循环结构 9

1.3.7 班级平均成绩算法 9

1.4 Python简介 11

1.4.1 启动IDLE 11

1.4.2 Python shell 12

1.4.3 Python代码编辑器 13

1.4.4 打开程序 15

第2章 核心对象、变量、输入和输出 19

2.1 数值 19

2.1.1 两种数值类型:整型和浮点型 19

2.1.2 算术运算符 19

2.1.3 print函数 19

2.1.4 变量 20

2.1.5 abs、int与round函数 21

2.1.6 增量赋值 22

2.1.7 其他两种整型运算符 22

2.1.8 括号与优先级 23

2.1.9 三种类型的错误 23

2.1.10 内存中的数值对象 24

2.2 字符串 29

2.2.1 字符串字面量 29

2.2.2 变量 30

2.2.3 索引和切片 30

2.2.4 反向索引 31

2.2.5 切片的默认边界 31

2.2.6 字符串连接 32

2.2.7 字符串重复 32

2.2.8 字符串函数和方法 32

2.2.9 链式方法 33

2.2.10 input函数 33

2.2.11 int、float、eval和str函数 33

2.2.12 内部文档 35

2.2.13 行延续 35

2.2.14 索引和切片越界 35

2.3 输出 42

2.3.1 print的可选参数sep 42

2.3.2 print的可选参数end 42

2.3.3 转义序列 43

2.3.4 域内输出对齐 43

2.3.5 使用format方法对齐输出 44

2.4 列表、元组和文件 50

2.4.1 列表对象 50

2.4.2 切片 51

2.4.3 split和join方法 52

2.4.4 文本文件 53

2.4.5 元组对象 54

2.4.6 嵌套列表 55

2.4.7 不可变和可变对象 55

2.4.8 列表复制 56

2.4.9 索引、删除和切片越界 56

关键术语和概念 62

编程项目 64

第3章 控制流结构 67

3.1 关系和逻辑运算符 67

3.1.1 ASCII值 67

3.1.2 关系运算符 68

3.1.3 列表元素的排序 69

3.1.4 逻辑运算符 70

3.1.5 短路求值 71

3.1.6 布尔数据类型 72

3.1.7 三种返回布尔值的方法 72

3.1.8 简化条件 73

3.2 判断结构 77

3.2.1 if-else语句 78

3.2.2 if语句 79

3.2.3 嵌套的if-else 语句 80

3.2.4 elif子句 81

3.2.5 使用if-elif-else语句的输入验证 83

3.2.6 True和False 84

3.3 while循环 92

3.3.1 while循环 92

3.3.2 break 语句 95

3.3.3 continue语句 95

3.3.4 创建菜单 96

3.3.5 无限循环 97

3.4 for循环 103

3.4.1 等差数列的循环遍历 103

3.4.2 range函数的步长值 105

3.4.3 for循环的嵌套 106

3.4.4 字符串中字符的循环遍历 107

3.4.5 遍历列表或元组元素的循环遍历 107

3.4.6 文本文件的行循环遍历 109

3.4.7 pass语句 110

3.4.8 使用文本文件的内容创建列表 110

关键术语和概念 120

编程项目 121

第4章 函数 125

4.1 函数(第一部分) 125

4.1.1 内建函数 125

4.1.2 用户自定义函数 125

4.1.3 具有一个参数的函数 126

4.1.4 向函数传值 127

4.1.5 具有多个参数的函数 128

4.1.6 返回布尔型或列表型的函数 130

4.1.7 无返回值的函数 131

4.1.8 无参数的函数 132

4.1.9 变量作用域 133

4.1.10 命名常量 134

4.1.11 库模块 135

4.2 函数(第二部分) 144

4.2.1 调用其他函数的函数 144

4.2.2 返回多个值的函数 144

4.2.3 列表解析 146

4.2.4 默认值 147

4.2.5 按参数名传递 147

4.2.6 自定义排序 149

4.2.7 Lambda表达式 150

4.2.8 sorted函数 150

4.3 程序设计 160

4.3.1 自顶向下的设计 160

4.3.2 结构化编程 162

4.3.3 结构化编程的优势 162

4.3.4 面向对象编程 163

4.3.5 相关引用 163

关键术语和概念 163

编程项目 165

第5章 数据处理 168

5.1 数据处理(第一部分) 168

5.1.1 读取文本文件 168

5.1.2 创建文本文件 170

5.1.3 向已有文本文件中添加行 173

5.1.4 修改文本文件中的元素 173

5.1.5 集合 174

5.1.6 集合推导 175

5.1.7 集合论方法 175

5.1.8 在文件中使用集合论的方法 175

5.2 数据处理(第二部分) 183

5.2.1 CSV文件 183

5.2.2 访问CSV文件中的数据 183

5.2.3 使用列表分析CSV文件中的数据 184

5.2.4 分析数值数据 185

5.2.5 Excel和CSV文件 186

5.3 字典 195

5.3.1 字典 195

5.3.2 dict函数 197

5.3.3 从文本文件中创建字典 198

5.3.4 使用字典作为频率表 199

5.3.5 在二进制文件中存储字典 200

5.3.6 值为字典的字典 201

5.3.7 从字典中获取顺序数据 202

5.3.8 使用元组作为字典的键 203

5.3.9 字典推导 204

关键术语和概念 209

编程项目 211

第6章 其他主题 216

6.1 异常处理 216

6.1.1 异常 216

6.1.2 try语句 217

6.1.3 else与finally子句 218

6.2 生成随机数 223

6.2.1 random模块中的函数 223

6.2.2 机会游戏 223

6.3 海龟图 229

6.3.1 坐标 229

6.3.2 turtle模块中的方法 229

6.3.3 矩形 230

6.3.4 旗帜 232

6.3.5 write方法 233

6.3.6 柱状图 234

6.3.7 折线图 235

6.4 递归 239

6.4.1 递归的指数计算函数 239

6.4.2 递归的回文生成函数 241

6.4.3 递归的分形计算函数 241

关键术语和概念 246

编程项目 247

第7章 面向对象编程 250

7.1 类与对象 250

7.1.1 内建类 250

7.1.2 用户自定义类 250

7.1.3 初始化方法的其他形式 253

7.1.4 类定义中方法的数量 253

7.1.5 对象列表 255

7.2 继承 262

7.2.1 学期成绩类 262

7.2.2 is-a关系 264

7.2.3 isinstance函数 264

7.2.4 向子类中添加新的实例变量 265

7.2.5 覆盖方法 266

7.2.6 多态 268

关键术语和概念 273

编程项目 274

第8章 图形用户界面 276

8.1 控件 276

8.1.1 什么是图形用户界面 276

8.1.2 按钮控件 277

8.1.3 标签控件 278

8.1.4 输入控件 279

8.1.5 只读输入控件 280

8.1.6 列表框控件 281

8.1.7 滚动条控件 283

8.2 网格布局管理器 288

8.2.1 网格 288

8.2.2 sticky属性 290

8.2.3 向列表框添加垂直滚动条 290

8.2.4 设计窗体布局 291

8.3 编写GUI程序 295

8.3.1 将TUI程序改写成GUI程序 295

8.3.2 将文件加载到列表框中 297

8.3.3 用面向对象方式编写GUI程序 298

关键术语和概念 302

编程项目 304

附录A ASCII值 306

附录B 保留字 308

附录C 安装Python和IDLE 309

奇数编号习题答案 311

索引 359

前言
前 言An Introduction to Programming Using Python自20世纪90年代诞生以来,Python已经成为软件行业中应用最为广泛的编程语言之一。学习第一门编程语言的学生也发现,Python是理解计算机程序开发的理想工具。 这本书的写作目标如下: 1. 重点突出。集中介绍重要的主题,而不是泛泛地覆盖许多主题。 2. 使用学生耳熟能详的例子和相关习题。经常使用真实的数据。例子简洁明了,尽量向学生展示编程技术,而不去分散他们的注意力。 3. 通俗易懂,内容丰富。首先讨论每个主题的要点,然后再以注释的形式展示次要的细节。 4. 教授好的编程实践,与现代编程方法相接轨。全面讨论问题求解技术、结构化编程以及面向对象编程。 5. 深入介绍计算机的主要应用。 本书特色编程项目。从第2章开始,每章都包含编程项目。编程项目反映了计算机的不同使用方法。数量多、难度不一的编程项目使本书适用于不同兴趣和层次的学生。后面章节的一些编程项目可以留作学期末项目。 大多数章节的习题。教授编程的每个章节都有一个习题集。这些习题既可以增强学生对这些章节关键思想的理解,又为学生探索更多的应用提出了挑战。大部分习题集需要学生跟踪程序、找到错误以及编写程序。本书中,除了6.3节以及第8章外,奇数编号习题的答案在本书的最后给出。几乎每个编程习题以及编程项目都配有一个可能的输出。 实践问题。在每节的习题之前,都有一些精选的实践问题。习题后面是完备的答案。实践问题经常集中于那些可能易混淆的要点上,在学生深入思考之后,就会透彻理解这些要点。在做习题之前,读者应该认真地试着解一下这些实践问题并且研究它们的答案。 注释。在每节最后,都有一些扩展以及新的主题,它们被置于“注释”部分,以便这些内容不会影响行文的流畅性。 关键术语和概念。在第2章到第8章中,在每章的最后给出关键术语和概念(以及示例)。 应用问题指南。该部分提供了程序的索引,讨论多种主题,包括商务、经济、数学以及体育。 解题手册。学生解题手册包括奇数编号习题的答案(不包括编程项目的答案)。教师解题手册包括所有习题和编程项目的答案。两本解题手册都是PDF格式的,并且能够从Pearson的网站上下载。 源代码和数据文件。全部示例的程序以及习题所需的数据文件都能从Pearson的网站上下载。 教师和学生资源教师资源测试项文件PPT课件教师解题手册所有示例的程序以及习题和编程项目的答案(习题所需的数据文件在Programs文件夹下)学生资源学生解题手册示例的程序(习题所需的数据文件在Programs文件夹下)致谢在本书写作过程中,许多优秀的研究者和程序员给予了富有建设性的意见和建议,我由衷地对他们的贡献表示感谢。以下审阅者为本书的编写提供了大量有价值的建议: Daniel Solarek, 托莱多大学David M. Reed, 首都大学Debraj De, 佐治亚州Desmond Chun, 夏波学院Mark Coffey, 科罗拉多矿业大学Randall Alexander, 查尔斯顿学院Vineyak Tanksale, 鲍尔州立大学Zhi Wei, 新泽西理工学院很多人为本书的成功出版提供了帮助。我要感谢Pearson的团队,本书的出版离不开他们的支持和鼓励,特别要感谢计算机科学部门程序管理经理Carole Synyder,计算机科学部门编辑助理Kelsey Loanes和产品经理主管Scott Disanno。 我要感谢Jacob Saina在本书编写过程中各个阶段的帮助。出版编辑Pavithra Jayapaul和Greg Dulles为本书的出版做了许多工作,使之能按计划推进。我要感谢阿克伦大学的Kathy Liszka博士,他为本书制作了题库,感谢莱托诺大学的Steve Armstrong博士,他为本书制作了配套的PPT课件。本书在出版过程中也离不开来自Jouve India的Shylaja Gattupalli的帮助。 特别要感谢我的主编Tracy Johnson。她的想法和热情为本书的筹备工作提供了巨大的帮助。 David I. Schneiderdis@alum.mit.edu
热门图书
推荐新闻
技术文库
论坛推荐