封面
版权信息
版权
内容提要
序
致谢
前言
本书的目标读者
本书的组织形式:路线图
代码
本书的论坛
作者简介
资源与支持
提交错误信息
扫码关注本书
与我们联系
关于异步社区和异步图书
第1部分 学习编程
第1章 为什么要学习编程
1.1 为什么编程很重要
1.2 起点与终点
1.3 我们的编程学习计划
1.4 总结
第2章 学习编程语言的基本原则
2.1 编程是一项技能
2.2 以烘焙为比喻
2.3 思考、编码、测试、调试、重复
2.4 编写容易阅读的代码
2.5 总结
第2部分 变量、类型、表达式和语句
第3章 介绍Python编程语言
3.1 安装Python
3.2 设置工作空间
3.3 总结
第4章 变量和表达式:为对象 赋予名称和值
4.1 为对象提供名称
4.2 变量
4.3 总结
4.4 章末检测
第5章 对象的类型和代码的语句
5.1 对象的类型
5.2 编程中对象的基本类型
5.3 使用基本类型的数据值
5.4 总结
第6章 阶段性项目:第一个Python程序——时分转换
6.1 思考、编码、测试、调试、重复
6.2 分解任务
6.3 实现转换公式
6.4 第一个Python程序:解决方案一
6.5 第一个Python程序:解决方案二
6.6 总结
6.7 章末检测
第3部分 字符串、元组以及与用户的交互
第7章 介绍字符串对象:字符序列
7.1 字符串就是字符序列
7.2 字符串的基本操作
7.3 字符串对象的其他操作
7.4 总结
7.5 章末检测
第8章 字符串的高级操作
8.1 与子字符串有关的操作
8.2 数学操作
8.3 总结
8.4 章末检测
第9章 简单的错误消息
9.1 输入语句并尝试执行
9.2 理解字符串错误消息
9.3 总结
9.4 章末检测
第10章 元组对象:任意类型的对象序列
10.1 元组就是数据序列
10.2 理解对元组的操作
10.3 总结
10.4 章末检测
第11章 与用户的交互
11.1 显示输出
11.2 获取用户的输入
11.3 总结
11.4 章末检测
第12章 阶段性项目:姓名的混搭
12.1 理解问题陈述
12.2 分割名字和姓氏
12.3 存储所有名字的一半
12.4 对名字的一半进行组合
12.5 总结
第4部分 在程序中做出选择
第13章 在程序中引入选择机制
13.1 根据条件做出选择
13.2 编写代码做出选择
13.3 程序的结构变化
13.4 总结
13.5 章末检测
第14章 做出更复杂的选择
14.1 组合多个条件
14.2 选择需要执行的代码行
14.3 总结
14.4 章末检测
第15章 阶段性项目:冒险游戏
15.1 制定游戏规则
15.2 创建不同的路径
15.3 更多的选项?可以,尽管尝试
15.4 总结
第5部分 重复执行任务
第16章 用循环重复任务
16.1 重复一个任务
16.2 循环一定的次数
16.3 循环N次
16.4 总结
16.5 章末检测
第17章 自定义的循环
17.1 自定义的循环
17.2 对字符串进行循环
17.3 总结
17.4 章末检测
第18章 在条件满足时一直重复任务
18.1 在条件为真时保持循环
18.2 for循环和while循环的比较
18.3 对循环进行控制
18.4 总结
18.5 章末检测
第19章 阶段性项目:拼字游戏(艺术版)
19.1 理解问题陈述
19.2 把代码划分为代码段
19.3 总结
第6部分 将代码组织为可复用的代码块
第20章 创建持久性的程序
20.1 把一个较大的任务分解为更小的任务
20.2 在编程中引入黑盒代码
20.3 子任务存在于它们自己的环境中
20.4 总结
20.5 章末检测
第21章 用函数实现模块化和抽象
21.1 编写函数
21.2 使用函数
21.3 编写函数说明书
21.4 总结
21.5 章末检测
第22章 函数的高级操作
22.1 从两个角度思考函数
22.2 函数的作用域
22.3 嵌套函数
22.4 把函数作为参数传递
22.5 返回一个函数
22.6 总结
22.7 章末检测
第23章 阶段性项目:对朋友进行分析
23.1 读取文件
23.2 对用户的输入进行净化
23.3 测试和调试到目前为止所编写的代码
23.4 重复使用函数
23.5 分析信息
23.6 总结
第7部分 使用可变数据类型
第24章 可变对象和不可变对象
24.1 不可变对象
24.2 对可变性的需求
24.3 总结
24.4 章末检测
第25章 对列表进行操作
25.1 列表与元组的比较
25.2 创建列表和获取特定位置的元素
25.3 对元素进行计数以及获取元素的位置
25.4 在列表中添加元素:append、insert和extend
25.5 从列表中移除元素:pop
25.6 更改元素的值
25.7 总结
25.8 章末检测
第26章 列表的高级操作
26.1 排序和反转列表
26.2 列表的列表
26.3 把字符串转换为列表
26.4 列表的应用
26.5 总结
26.6 章末检测
第27章 字典作为对象之间的映射
27.1 创建字典、键和值
27.2 在字典中添加键值对
27.3 从字典中删除键值对
27.4 获取字典中所有的键和值
27.5 为什么应该使用字典
27.6 总结
27.7 章末检测
第28章 别名以及复制列表和字典
28.1 使用对象的别名
28.2 创建可变对象的副本
28.3 总结
28.4 章末检测
第29章 阶段性项目:文档的相似度
29.1 把问题分解为不同的子任务
29.2 读取文件信息
29.3 保存文件中的所有单词
29.4 把单词映射到它们的频率
29.5 使用相似度比较两个文档
29.6 最终的整合
29.7 一个可能的扩展
29.8 总结
第8部分 使用面向对象编程创建自己的对象类型
第30章 创建自己的对象类型
30.1 为什么需要新类型
30.2 什么组成了一个对象
30.3 使用点号记法
30.4 总结
第31章 为对象类型创建类
31.1 用类实现新的对象类型
31.2 数据属性作为对象的属性
31.3 方法作为对象的操作和行为
31.4 使用定义的对象类型
31.5 在__init__中创建带参数的类
31.6 作用于类名而不是对象的点号记法
31.7 总结
31.8 章末检测
第32章 使用自己的对象类型
32.1 定义堆栈对象
32.2 使用Stack对象
32.3 总结
32.4 章末检测
第33章 对类进行自定义
33.1 覆写一个特殊的方法
33.2 在自己的类中覆写print()方法
33.3 背后发生的事情
33.4 可以对类做什么
33.5 总结
33.6 章末检测
第34章 阶段性项目:牌类游戏
34.1 使用已经存在的类
34.2 详细分析游戏规则
34.3 定义Player类
34.4 定义CardDeck类
34.5 模拟牌类游戏
34.6 用类实现模块化和抽象
34.7 总结
第9部分 使用程序库完善自己的程序
第35章 实用的程序库
35.1 导入程序库
35.2 用math库进行数学运算
35.3 用random库操作随机数
35.4 用time库对程序进行计时
35.5 总结
35.6 章末检测
第36章 测试和调试程序
36.1 使用unittest程序库
36.2 将程序与测试分离
36.3 调试代码
36.4 总结
36.5 章末检测
第37章 图形用户接口程序库
37.1 一个图形用户接口库
37.2 使用tkinter库设置程序
37.3 添加部件
37.4 添加事件处理函数
37.5 总结
37.6 章末检测
第38章 阶段性项目:追逐游戏
38.1 确认问题的组成部分
38.2 在窗口中创建两个形状
38.3 在画布中移动形状
38.4 检测形状之间的碰撞
38.5 可能的扩展
38.6 总结
附录A 各章习题的答案
第2章
第3章
第4章
第5章
第6章
第7章
第8章
第9章
第10章
第11章
第13章
第14章
第16章
第17章
第18章
第20章
第21章
第22章
第24章
第25章
第26章
第27章
第28章
第30章
第31章
第32章
第33章
第35章
第36章
第37章
附录B Python语法摘要
附录C 有趣的Python程序库
更新时间:2023-03-10 15:35:14