图书简介

本书通过阐述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 启动IDLE11

1.4.2 Python shell12

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的可选参数sep42

2.3.2 print的可选参数end42

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和False84

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和IDLE309

奇数编号习题答案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

图书评论

python程序设计pdf机械出版_Python程序设计相关推荐

  1. python大学课程实验六_Python程序设计实验六:函数

    安徽工程大学 Python程序设计 实验报告 班级  物流191   姓名姚彩琴学号3190505129 成绩 日期     2020.5.3     指导老师修宇 [实验目的] 掌握函数的定义与使用 ...

  2. python合并pdf 加书签_Python生成pdf目录书签的实例方法

    有时候我们用的一些pdf资料是没有目录的,这样找寻我们想到的东西比较麻烦.本篇文章就为大家带来python来生成pdf目录书签的方法. 首先,我们需要下载一个软件FreePic2Pdf,利用它我们可以 ...

  3. python中的目录简介_Python程序设计(第3版)董付国作者介绍、内容简介、图书详情、目录...

    内容简介 <Python程序设计(第3版 微课版)>共18章,主要内容如下:第1章介绍Python基础知识与概念:第2章讲解列表.元组.字典.集合等常用序列结构:第3章讲解Python选择 ...

  4. python程序设计狄光智_Python程序设计

    考核方案(可另附纸) 成绩构成: 1.<Python程序设计>是一门实践性很强的课程,本课程考核采用平时成绩和期末笔试成绩相结合的方法开展. 2. 期末总成绩由平时成绩(25%).实验成绩 ...

  5. python程序设计的基本步骤_Python程序设计课程教与学(54、72、80学时教学大纲)...

    原标题:Python程序设计课程教与学(54.72.80学时教学大纲) <算法与程序设计>课程教学大纲 Programming and Algorithm Fundamentals (Py ...

  6. python程序设计遇到的问题_Python程序设计与实践:用计算思维解决问题

    第1章良好的编程习惯1 1.1Python简介2 1.2Python安装4 1.3漂亮的程序8 1.3.1语法规则10 1.3.2注释规范14 1.3.3程序调试15 1.4Python学习资料17 ...

  7. python循环结构教学设计_Python程序设计 循环结构说课稿

    循环结构程序设计 -- 实现复杂计算程序 一.说教材 1. 教材地位分析 教材是由湖北省中小学教材编写组编写的义务教育教科书<信息技术> .其中<循 环结构程序设计>是初中信息 ...

  8. python分支结构说课_Python程序设计 循环结构说课稿

    循环结构程序设计--实现复杂计算程序 一.说教材 1.教材地位分析 教材是由湖北省中小学教材编写组编写的义务教育教科书<信息技术>.其中<循环结构程序设计>是初中信息技术课本第 ...

  9. python分支结构说课_Python程序设计 选择结构说课稿

    选择结构程序设计 -- 偏胖还是偏瘦? 一.说教材 1. 教材地位分析 教材是由湖北省中小学教材编写组编写的义务教育教科书<信息技术> .其中<选 择结构程序设计>是初中信息技 ...

  10. python编程设计圆柱体积_PYTHON程序设计实验2

    安徽工程大学 Python程序设计 实验报告 班级  物流191   姓名邹缕学号3190505117 成绩 日期     2020.3.22      指导老师修宇 实验二 顺序结构程序设计(验证性 ...

最新文章

  1. UML类图符号 各种关系说明以及举例
  2. Learning OpenCV Lecture 5 (Filtering the Images)
  3. shell开启飞行模式_手机上的飞行模式,每天都能用得上,我是才知道,涨知识...
  4. 虚拟机 centos 6.5 扩展根目录分区大小
  5. SEED实验系列:ShellShock 攻击实验
  6. 牛客题霸 [进制转换] C++题解/答案
  7. A Quantization-Friendly Separable Convolution for MobileNets
  8. 【Docker】Docer安装MySQL 8 并且远程登录
  9. 游戏开发之C++面向对象模型(C++类中成员变量和成员函数的存储原理及this指针)(C++基础)
  10. 颜色值16进制转rgba
  11. otrs软件_开源 IT 服务管理软件(ITSM) - OTRS
  12. 备案有哪些类型,今天给大家讲讲备案类型概览,云南网站备案
  13. kotlin基本语法
  14. 无线覆盖商场微信吸粉解决方案
  15. Bootstrap 4 snippets 代码段
  16. vivo手机关闭广告
  17. 梦幻西游手游微信号登陆不上服务器,梦幻西游手游为什么进不去 进不去登陆不上解决方法...
  18. 七个经典推理(据说没有人能全部答对)
  19. CodeForces - 985E Pencils and Boxes
  20. linux can总线接收数据串口打包上传_SPI、I2C、UART、I2S、GPIO、SDIO、CAN,你能分清楚吗?...

热门文章

  1. javaweb框架 一些底层实现
  2. MTK各个分区功能大全
  3. vmd与ovito的对比
  4. matlab计算涡度的函数_流函数涡量法的二维方腔流数值模拟matlab编程.doc
  5. 用HTML及CSS制作一个简易动画效果
  6. 数字条纹投影系统中基于概率分布函数的灵活伽玛计算算法
  7. 原型模式(深克隆、浅克隆)
  8. opencv无获取摄像头视频帧(YUV打开导致失败)
  9. 【JAVA】java代码实现print2Flash转swf文件,百度文库一样。
  10. sakai mysql_sakai 开发环境搭建(一)