店铺推荐
【作者】
Allen B.Downey是欧林工程学院的计算机科学教授,曾任教于韦尔斯利学院、科尔比学院和加州大学伯克利分校。他是加州大学伯克利分校的计算机科学博士,并拥有MIT的硕士和学士学位。
【内容】
艾伦·B.唐尼著的《像计算机科学家一样思考Python(第2版)》以培养读者以计算机科学家一样的思维方式来理解Python语言编程。贯穿全书的主体是如何思考、设计、开发的方法,而具体的编程语言,只是提供了一个具体场景方便介绍的媒介。


全书共21章,详细介绍:Python语言编程的方方面面。本书从 基本的编程概念开始讲起,包括语言的语法和语义,而且每个编程概念都有清晰的定义, 读者循序渐进地学习变量、表达式、语句、函数和数据结构。书中还探讨了如何处理文件和数据库,如何理解对象、方法和面向对象编程,如何使用调试技巧来修正语法错误、运行时错误和语义错误。每一章都配有术语表和练习题,方便读者巩固所学的知识和技巧。此外,每一章都抽出一节来讲解如何调试程序。作者针对每章所专注的语言特性,或者相关的开发问题,总结了调试的方方面面。


本书的第2版与 版相比,做了很多 新,将编程语言从Python 2升级成Pvthon3,并修改了很多示例和练习,增加了新的章节, 全面地介绍Python语言。


这是一本实用的学习指南,适合没有Python编程经验的程序员阅读,也适合高中或大学的学生、Python爱好者及需要了解编程基础的人阅读。对于第一次接触程序设计的人来说,是一本不可多得的佳作。
【目录】
第1章 程序之道
1.1 什么是程序
1.2 运行Python
1.3 个程序
1.4 算术操作符
1.5 值和类型
1.6 形式语言和自然语言
1.7 调试
1.8 术语表
1.9 练习
第2章 变量、表达式和语句
2.1 赋值语句
2.2 变量名称
2.3 表达式和语句
2.4 脚本模式
2.5 操作顺序
2.6 字符串操作
2.7 注释
2.8 调试
2.9 术语表
2.10 练习
第3章 函数
3.1 函数调用
3.2 数学函数
3.3 组合
3.4 添加新函数
3.5 定义和使用
3.6 执行流程
3.7 形参和实参
3.8 变量和形参是局部的
3.9 栈图
3.10 有返回值函数和无返回值函数
3.11 为什么要有函数
3.12 调试
3.13 术语表
3.14 练习
第4章 案例研究:接口设计
4.1 turtle模块
4.2 简单重复
4.3 练习
4.4 封装
4.5 泛化
4.6 接口设计
4.7 重构
4.8 一个开发计划
4.9 文档字符串
4.10 调试
4.11 术语表
4.12 练习
第5章 条件和递归
5.1 向下取整除法操作符和求模操作符
5.2 布尔表达式
5.3 逻辑操作符
5.4 条件执行
5.5 选择执行
5.6 条件链
5.7 嵌套条件
5.8 递归
5.9 递归函数的栈图
5.10 无限递归
5.11 键盘输入
5.12 调试
5.13 术语表
5.14 练习
第6章 有返回值的函数
6.1 返回值
6.2 增量开发
6.3 组合
6.4 布尔函数
6.5 再谈递归
6.6 坚持信念
6.7 另一个示例
6.8 检查类型
6.9 调试
6.10 术语表
6.11 练习
第7章 迭代
7.1 重新赋值
7.2 新变量
7.3 while语句
7.4 break语句
7.5 平方根
7.6 算法
7.7 调试
7.8 术语表
7.9 练习
第8章 字符串
8.1 字符串是一个序列
8.2 len
8.3 使用for循环进行遍历
8.4 字符串切片
8.5 字符串是不可变的
8.6 搜索
8.7 循环和计数
8.8 字符串方法
8.9 操作符in
8.10 字符串比较
8.11 调试
8.12 术语表
8.13 练习
第9章 案例分析:文字游戏
9.1 读取单词列表
9.2 练习
9.3 搜索
9.4 使用下标循环
9.5 调试
9.6 术语表
9.7 练习
0章 列表
10.1 列表是一个序列
10.2 列表是可变的
10.3 遍历一个列表
10.4 列表操作
10.5 列表切片
10.6 列表方法
10.7 映射、过滤和化简
10.8 删除元素
10.9 列表和字符串
10.10 对象和值
10.11 别名
10.12 列表参数
10.13 调试
10.14 术语表
10.15 练习
1章 字典
11.1 字典是一种映射
11.2 使用字典作为计数器集合
11.3 循环和字典
11.4 反向查找
11.5 字典和列表
11.6 备忘
11.7 全局变量
11.8 调试
11.9 术语表
11.10 练习
2章 元组
12.1 元组是不可变的
12.2 元组赋值
12.3 作为返回值的元组
12.4 可变长参数元组
12.5 列表和元组
12.6 字典和元组
12.7 序列的序列
12.8 调试
12.9 术语表
12.10 练习
3章 案例研究:选择数据结构
13.1 单词频率分析
13.2 随机数
13.3 单词直方图
13.4 常用的单词
13.5 可选形参
13.6 字典减法
13.7 随机单词
13.8 马尔可夫分析
13.9 数据结构
13.10 调试
13.11 术语表
13.12 练习
4章 文件
14.1 持久化
14.2 读和写
14.3 格式操作符
14.4 文件名和路径
14.5 捕获异常
14.6 数据库
14.7 封存
14.8 管道
14.9 编写模块
14.10 调试
14.11 术语表
14.12 练习
5章 类和对象
15.1 用户定义类型
15.2 属性
15.3 矩形
15.4 作为返回值的实例
15.5 对象是可变的
15.6 复制
15.7 调试
15.8 术语表
15.9 练习
6章 类和函数
16.1 时间
16.2 纯函数
16.3 修改器
16.4 原型和计划
16.5 调试
16.6 术语表
16.7 练习
7章 类和方法
17.1 面向对象特性
17.2 打印对象
17.3 另一个示例
17.4 一个 复杂的示例
17.5 init方法
17.6 _ _str_ _方法
17.7 操作符重载
17.8 基于类型的分发
17.9 多态
17.10 接口和实现
17.11 调试
17.12 术语表
17.13 练习
8章 继承
18.1 卡片对象
18.2 类属性
18.3 对比卡牌
18.4 牌组
18.5 打印牌组
18.6 添加、删除、洗牌和排序
18.7 继承
18.8 类图
18.9 数据封装
18.10 调试
18.11 术语表
18.12 练习
9章 Python拾珍
19.1 条件表达式
19.2 列表理解
19.3 生成器表达式
19.4 any和all
19.5 集合
19.6 计数器
19.7 defaultdict
19.8 命名元组
19.9 收集关键词参数
19.10 术语表
19.11 练习
第20章 调试
20.1 语法错误
20.2 运行时错误
20.2.1 我的程序什么都不做
20.2.2 我的程序卡死了
20.2.3 无限循环
20.2.4 无限递归
20.2.5 执行流程
20.2.6 当我运行程序,会得到一个异常
20.2.7 我添加了太多print语句,被输出淹没了
20.3 语义错误
20.3.1 我的程序运行不正确
20.3.2 我有一个巨大而复杂的表达式,而它和我预料的不同
20.3.3 我有一个函数,返回值和预期不同
20.3.4 我真的真的卡住了,我需要帮助
20.3.5 不行,我真的需要帮助
第21章 算法分析
21.1 增长量级
21.2 Python基本操作的分析
21.3 搜索算法的分析
21.4 散列表
21.5 术语表
译后记
返回顶部