计算机python程序设计导论,程序设计导论:Python计算与应用开发实践(原书第2版)...

程序设计导论:Python计算与应用开发实践(原书第2版)

语音

编辑

锁定

讨论

上传视频

《程序设计导论:Python计算与应用开发实践(原书第2版)》是2018年机械工业出版社出版的图书,作者是[美] 卢博米尔·佩尔科维奇(Ljubomir Perkovic)。

书    名

程序设计导论:Python计算与应用开发实践(原书第2版)

作    者

[美] 卢博米尔·佩尔科维奇(Ljubomir Perkovic)

ISBN

9787111611608定    价

99元

出版社

机械工业出版社

出版时间

2018年11月

开    本

16开

程序设计导论:Python计算与应用开发实践(原书第2版)内容简介

编辑

语音

本书不仅仅是传统的程序设计导论性教材,而且囊括了包罗万象的计算机科学。书中采用Python作为学生的第一门程序设计语言,提出“正确的时刻+正确的工具”的教学方法,尤为重视应用程序的开发训练和计算思维的培养,易于教学和实践。书中首先讲解命令式编程,但也很早便引入了对象的概念;在学生具备足够的基础知识也更有学习动力之后,书中开始讲解自定义类、面向对象编程等更多高级技巧。书中涵盖了问题求解的核心技术和各类经典算法,这一版还增加了案例章节,所涉及的广度也有所拓展。[1]

程序设计导论:Python计算与应用开发实践(原书第2版)图书目录

编辑

语音

出版者的话

译者序

前言

第1章 计算机科学导论 1

1.1 计算机科学 1

1.1.1 计算机专业人员的工作 1

1.1.2 模型、算法和程序 2

1.1.3 必备的工具 3

1.1.4 什么是计算机科学 3

1.2 计算机系统 3

1.2.1 计算机硬件 3

1.2.2 操作系统 4

1.2.3 网络和网络协议 5

1.2.4 程序开发语言 5

1.2.5 软件库 6

1.3 Python程序设计语言 6

1.3.1 Python简史 6

1.3.2 构建Python开发环境 7

1.4 计算思维 7

1.4.1 一个示例问题 8

1.4.2 抽象和建模 8

1.4.3 算法 9

1.4.4 数据类型 9

1.4.5 赋值语句和执行控制结构 10

1.4.6 本章小结 11

第2章 Python数据类型 12

2.1 表达式、变量和赋值语句 12

2.1.1 代数表达式和函数 12

2.1.2 布尔表达式和运算符 14

2.1.3 变量和赋值语句 16

2.1.4 变量名称 18

2.2 字符串 18

2.2.1 字符串运算符 19

2.2.2 索引运算符 21

2.3 列表和元组 22

2.3.1 列表运算符 22

2.3.2 列表是可变类型,字符串是不可变类型 24

2.3.3 元组 24

2.3.4 元组和列表的方法 26

2.4 对象和类 28

2.4.1 对象类型 28

2.4.2 数值类型的有效值 29

2.4.3 数值类型的运算符 30

2.4.4 创建对象 32

2.4.5 隐式类型转换 32

2.4.6 显式类型转换 33

2.4.7 类方法和面向对象的程序设计 34

2.5 Python标准库 35

2.5.1 math模块 35

2.5.2 fractions模块 36

2.6 电子教程案例研究:海龟图形 37

2.7 本章小结 37

2.8 练习题答案 37

2.9 习题 39

第3章 命令式编程 43

3.1 Python程序 43

3.1.1 我们的第一个Python程序 43

3.1.2 Python模块 45

3.1.3 内置函数print() 45

3.1.4 使用input()函数实现交互式输入 46

3.1.5 eval()函数 47

3.2 执行控制结构 47

3.2.1 单分支结构 48

3.2.2 双分支结构 51

3.2.3 循环结构 52

3.2.4 嵌套的控制流结构 55

3.2.5 range()函数 55

3.3.1 我们自定义的第一个函数 57

3.3.2 函数输入参数 58

3.3.3 print()与return的比较 59

3.3.4 函数定义实际上是“赋值”语句 60

3.3.5 注释 61

3.3.6 文档字符串 61

3.4 Python变量和赋值语句 63

3.4.1 可变类型和不可变类型 63

3.4.2 赋值语句和可变性 65

3.4.3 交换 66

3.5 参数传递 67

3.5.1 不可变类型参数传递 67

3.5.2 可变类型参数传递 69

3.6 电子教程案例研究:自动化海龟图形 70

3.7 本章小结 70

3.8 练习题答案 70

3.9 习题 73

3.10 思考题 74

第4章 文本数据、文件和异常 77

4.1 深入研究字符串 77

4.1.1 字符串表示 77

4.1.2 深入研究索引运算符 79

4.1.3 字符串方法 80

4.2 格式化输出 83

4.2.1 函数print() 83

4.2.2 字符串方法format() 84

4.2.3 按列对齐排列数据 86

4.2.4 获取与格式化日期和时间 89

4.3 文件 91

4.3.1 文件系统 91

4.3.2 打开和关闭文件 92

4.3.3 读取文本文件的模式 96

4.3.4 写入文本文件 98

4.4 错误和异常 99

4.4.1 语法错误 100

4.4.2 内置异常 100

4.5 电子教程案例研究:图像文件 102

4.6 本章小结 102

4.7 练习题答案 103

4.8 习题 104

4.9 思考题 106

第5章 执行控制结构 108

5.1 选择控制和if语句 108

5.1.1 三路以及多路分支 108

5.1.2 条件的排列顺序 110

5.2 for循环和迭代模式 111

5.2.1 循环模式:迭代循环 111

5.2.2 循环模式:计数器循环 112

5.2.3 循环模式:累加器循环 114

5.2.4 其他类型的累加 115

5.2.5 循环模式:嵌套循环 117

5.3 深入研究列表:二维列表 119

5.3.1 二维列表 119

5.3.2 二维列表和嵌套循环模式 120

5.4 while循环 122

5.5 更多循环模式 124

5.5.1 循环模式:序列循环 124

5.5.2 循环模式:无限循环 125

5.5.3 循环模式:循环和折半 126

5.6 其他迭代控制语句 127

5.6.1 break语句 127

5.6.2 continue语句 128

5.6.3 pass语句 129

5.7 电子教程案例研究:图像处理 129

5.8 本章小结 130

5.9 练习题答案 130

5.10 习题 133

5.11 思考题 134

第6章 容器和随机性 140

6.1 字典 140

6.1.1 用户自定义索引作为字典的动机 140

6.1.2 字典类属性 141

6.1.3 字典运算符 143

6.1.4 字典方法 144

6.1.5 字典作为多路分支if语句的替代方法 146

6.1.6 字典作为计数器集合 147

6.1.7 元组对象可以作为字典的键 149

6.2 集合 150

6.2.1 使用set构造函数移除重复项 151

6.2.2 set运算符 152

6.2.3 set方法 153

6.3 字符编码和字符串 154

6.3.1 字符编码 154

6.3.2 ASCII 154

6.3.3 Unicode 156

6.3.4 Unicode字符的UTF-8编码 158

6.4 random模块 158

6.4.1 选择一个随机整数 159

6.4.2 选择一个随机“实数” 160

6.4.3 随机混排、挑选和抽样 161

6.5 电子教程案例研究:机会游戏 161

6.6 本章小结 162

6.7 练习题答案 162

6.8 习题 165

6.9 思考题 166

第7章 名称空间 171

7.1 函数封装 171

7.1.1 代码重用 172

7.1.2 模块化 172

7.1.3 封装 172

7.1.4 局部变量 172

7.1.5 与函数调用相关的名称空间 173

7.1.6 名称空间与程序栈 174

7.2 全局名称空间和局部名称空间 177

7.2.1 全局变量 178

7.2.2 局部作用范围的变量 178

7.2.3 全局作用范围的变量 179

7.2.4 在函数中改变全局变量 180

7.3 异常控制流 181

7.3.1 异常和异常控制流 182

7.3.2 捕获和处理异常 183

7.3.3 默认异常处理程序 184

7.3.4 捕获给定类型的异常 184

7.3.5 多重异常处理程序 185

7.3.6 控制异常流 186

7.4 模块作为名称空间 189

7.4.1 模块属性 189

7.4.2 导入模块时发生了什么 190

7.4.3 模块搜索路径 190

7.4.4 顶层模块 192

7.4.5 导入模块属性的不同方法 193

7.5 类作为名称空间 195

7.5.1 一个类是一个名称空间 195

7.5.2 类方法是在类名称空间中定义的函数 196

7.6 电子教程案例研究:使用调试器进行调试 197

7.7 本章小结 197

7.8 练习题答案 197

7.9 习题 199

7.10 思考题 200

第8章 面向对象的程序设计 202

8.1 定义新的Python类 202

8.1.1 类Point的方法 202

8.1.2 类和名称空间 203

8.1.3 每个对象都有一个关联的名称空间 204

8.1.4 类Point的实现 204

8.1.5 实例变量 206

8.1.6 实例继承类属性 206

8.1.7 类定义的一般格式 207

8.1.8 编写类的文档 208

8.1.9 类Animal 208

8.2 用户自定义类示例 210

8.2.1 构造函数重载 210

8.2.2 默认构造函数 211

8.2.3 扑克牌类 212

8.3 设计新的容器类 213

8.3.1 设计一个表示一副扑克牌的类 213

8.3.2 实现Deck类 214

8.3.3 容器类Queue 215

8.3.4 实现Queue类 216

8.4 运算符重载 217

8.4.1 运算符是类方法 218

8.4.2 使Point类对用户友好 220

8.4.3 构造函数和repr()运算符之间的约定 221

8.4.4 使Queue类对用户友好 223

8.5 继承 225

8.5.1 继承类的属性 225

8.5.2 类定义的一般格式 227

8.5.3 重写父类方法 227

8.5.4 扩展父类方法 229

8.5.5 通过继承list实现一个Queue类 231

8.6 用户自定义异常 232

8.6.1 抛出一个异常 232

8.6.2 用户自定义异常类 233

8.6.3 改进类Queue的封装 234

8.7 电子教程案例研究:索引和迭代器 234

8.8 本章小结 235

8.9 练习题答案 235

8.10 习题 237

8.11 思考题 239

第9章 图形用户界面 246

9.1 tkinter图形用户界面开发基本知识 246

9.1.1 组件Tk:GUI窗口 246

9.1.2 组件Label:显示文本 247

9.1.3 显示图像 248

9.1.4 布局组件 249

9.1.5 将组件布局为表格 251

9.2 基于事件的tkinter组件 253

9.2.1 Button组件及事件处理程序 253

9.2.2 事件、事件处理程序和mainloop() 255

9.2.3 Entry组件 256

9.2.4 Text组件和绑定事件 258

9.2.5 事件模式和tkinter类Event 259

9.3 设计图形用户界面 261

9.3.1 组件Canvas 261

9.3.2 作为组织容器的组件Frame 264

9.4 面向对象的图形用户界面 265

9.4.1 GUI面向对象程序设计基本知识 266

9.4.2 把共享组件赋值给实例变量 268

9.4.3 把共享数据赋值给实例变量 269

9.5 电子教程案例研究:开发一个计算器 271

9.6 本章小结 271

9.7 练习题答案 271

9.8 习题 275

9.9 思考题 275

第10章 递归 278

10.1 递归简介 278

10.1.1 调用自身的函数 278

10.1.2 停止条件 279

10.1.3 递归函数的特性 280

10.1.4 递归思想 281

10.1.5 递归函数调用和程序栈 282

10.2 递归示例 284

10.2.1 递归数列模式 284

10.2.2 分形图形 286

10.2.3 病毒扫描 289

10.2.4 线性递归 292

10.3 运行时间分析 294

10.3.1 指数函数 294

10.3.2 运算次数 295

10.3.3 斐波那契数列 296

10.3.4 运行时间的实验分析 298

10.4 查找 300

10.4.1 线性查找 300

10.4.2 二分查找 301

10.4.3 线性查找和二分查找比较 303

10.4.4 唯一性测试 304

10.4.5 选择第k个最大(或最小)项 305

10.4.6 计算出现频率最多的项 305

10.5 电子教程案例研究:汉诺塔 306

10.6 本章小结 306

10.7 练习题答案 306

10.8 习题 308

10.9 思考题 309

第11章 Web和搜索 315

11.1 万维网 315

11.1.1 Web服务器和Web客户端 315

11.1.2 WWW的“管道” 316

11.1.3 命名方案:统一资源定位器 316

11.1.4 协议:超文本传输协议 317

11.1.5 超文本标记语言 318

11.1.6 HTML元素 318

11.1.7 HTML文档的树结构 320

11.1.8 锚点HTML元素和绝对链接 320

11.1.9 相对链接 321

11.2 Python WWW API 321

11.2.1 模块urllib.request 322

11.2.2 模块html.parser 324

11.2.3 重载HTMLParser处理程序 325

11.2.4 模块urllib.parse 327

11.2.5 收集HTTP超链接的解析器 327

11.3 字符串模式匹配 329

11.3.1 正则表达式 329

11.3.2 Python标准库模块re 332

11.4 电子教程案例研究:Web爬虫 333

11.5 本章小结 333

11.6 练习题答案 334

11.7 习题 335

11.8 思考题 336

第12章 数据库和数据处理 339

12.1 数据库和SQL 339

12.1.1 数据库表 339

12.1.2 结构化查询语言 341

12.1.3 SELECT语句 341

12.1.4 WHERE子句 343

12.1.5 内置SQL函数 345

12.1.6 GROUP BY子句 345

12.1.7 多表SQL查询 346

12.1.8 CREATE TABLE语句 347

12.1.9 INSERT和UPDATE语句 348

12.2 Python中的数据库编程 349

12.2.1 数据库引擎和SQLite 349

12.2.2 使用sqlite3创建一个数据库 349

12.2.3 提交数据库更改和关闭数据库 351

12.2.4 使用sqlite3查询数据库 351

12.3 函数语言方法 353

12.3.1 列表解析 354

12.3.2 MapReduce问题求解框架 355

12.3.3 MapReduce的抽象概念 358

12.3.4 倒排索引 359

12.4 并行计算 361

12.4.1 并行计算简介 362

12.4.2 multiprocessing模块中的Pool类 362

12.4.3 并行加速比 364

12.4.4 并行MapReduce 366

12.4.5 并行和顺序MapReduce 366

12.5 电子教程案例研究:数据交换 369

12.6 本章小结 369

12.7 练习题答案 369

12.8 习题 372

12.9 思考题 373

词条图册

更多图册

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值