学习计算机编程的有效方式就是实践。不管读者是想要提升自己的编程能力还是只想完成一些项目,都可从本书得到一些启发。本书专门为初学者所设计,以一步接一步、一个项目接一个项目的方式帮助他们学习编程。对初学者来说,学习编程正当其时! 本书使用Python语言向读者介绍计算机编程的基础知识。在这本实操任务驱动的图书中,读者几乎在每一页需要完成一些操作,从而完成38个紧凑的课时和8个基础项目的学习。精美的插图、难度适宜的习题以及恰到好处的提示,可以帮助读者极快地养成程序员的思维方式。 通过本书,你可以: 掌握在任何语言中都可以使用的编程技巧; 不需要任何经验就可以学习编写代码; 学习Python这门面向初学者的语言; 通过大量的习题和实例巩固和提高编程能力。
售 价:¥
纸质售价:¥59.90购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版 权
内容提要
致谢
前言
作者简介
资源与支持
第1部分 学习编程
第1章 为什么要学习编程
1.1 为什么编程很重要
1.1.1 编程并不仅限于专业人员
1.1.2 改善自己的生活
1.1.3 挑战自我
1.2 起点与终点
1.3 我们的编程学习计划
1.3.1 开始步骤
1.3.2 实践!实践!实践
1.3.3 像程序员一样思考
1.4 总结
第2章 学习编程语言的基本原则
2.1 编程是一项技能
2.2 以烘焙为比喻
2.2.1 理解“烘焙一块面包”这个任务
2.2.2 寻找菜谱
2.2.3 用流程图展示菜谱的可视化表现形式
2.2.4 使用现有的菜谱或自己创建一份菜谱
2.3 思考、编码、测试、调试、重复
2.3.1 理解任务
2.3.2 任务的黑盒表现形式
2.3.3 编写伪码
2.4 编写容易阅读的代码
2.4.1 使用描述性和有意义的名称
2.4.2 对代码进行注释
2.5 总结
第2部分 变量、类型、表达式和语句
第3章 介绍Python编程语言
3.1 安装Python
3.1.1 什么是Python
3.1.2 下载Python 3.5版本
3.1.3 Anaconda Python发布包
3.1.4 集成开发环境
3.2 设置工作空间
3.2.1 IPython控制台
3.2.2 文件编辑器
3.3 总结
第4章 变量和表达式:为对象 赋予名称和值
4.1 为对象提供名称
4.1.1 数学与编程
4.1.2 计算机可以做什么?不可以做什么
4.2 变量
4.2.1 对象就是可以进行操作的物品
4.2.2 对象具有名称
4.2.3 允许什么样的对象名称
4.2.4 创建变量
4.2.5 更新变量
4.3 总结
4.4 章末检测
第5章 对象的类型和代码的语句
5.1 对象的类型
5.2 编程中对象的基本类型
5.2.1 整数
5.2.2 表示小数的浮点数
5.2.3 表示真/假的布尔值
5.2.4 表示字符序列的字符串
5.2.5 空值
5.3 使用基本类型的数据值
5.3.1 表达式的构件
5.3.2 不同类型之间的转换
5.3.3 数学运算对对象类型的影响
5.4 总结
第6章 阶段性项目:第一个Python程序——时分转换
6.1 思考、编码、测试、调试、重复
6.2 分解任务
6.2.1 设置输入
6.2.2 设置输出
6.3 实现转换公式
6.3.1 多少小时
6.3.2 多少分钟
6.4 第一个Python程序:解决方案一
6.5 第一个Python程序:解决方案二
6.6 总结
6.7 章末检测
第3部分 字符串、元组以及与用户的交互
第7章 介绍字符串对象:字符序列
7.1 字符串就是字符序列
7.2 字符串的基本操作
7.2.1 创建字符串对象
7.2.2 理解字符串的索引
7.2.3 理解字符串的截取
7.3 字符串对象的其他操作
7.3.1 使用len()获取字符串的字符数量
7.3.2 用upper()和lower()进行字母大小写的转换
7.4 总结
7.5 章末检测
第8章 字符串的高级操作
8.1 与子字符串有关的操作
8.1.1 使用find()在字符串中查找一个特定的子字符串
8.1.2 用“in”判断字符串中是否包含某个子字符串
8.1.3 用count()获取一个子字符串的出现次数
8.1.4 用replace()替换子字符串
8.2 数学操作
8.3 总结
8.4 章末检测
第9章 简单的错误消息
9.1 输入语句并尝试执行
9.2 理解字符串错误消息
9.3 总结
9.4 章末检测
第10章 元组对象:任意类型的对象序列
10.1 元组就是数据序列
10.2 理解对元组的操作
10.2.1 用len()获取元组的长度
10.2.2 用[]获取元组索引以及截取元组的部分内容
10.2.3 执行数学操作
10.2.4 在元组内部交换对象
10.3 总结
10.4 章末检测
第11章 与用户的交互
11.1 显示输出
11.1.1 打印表达式
11.1.2 打印多个对象
11.2 获取用户的输入
11.2.1 提示用户进行输入
11.2.2 读取输入
11.2.3 把输入存储在变量中
11.2.4 把用户的输入转换为不同类型
11.2.5 要求更多的输入
11.3 总结
11.4 章末检测
第12章 阶段性项目:姓名的混搭
12.1 理解问题陈述
12.1.1 画出程序的基本结构
12.1.2 设计例子
12.1.3 把问题抽象化为伪码
12.2 分割名字和姓氏
12.2.1 寻找名字和姓氏之间的空格
12.2.2 使用变量保存经过处理的值
12.2.3 对到目前为止完成的工作进行测试
12.3 存储所有名字的一半
查找名字的中间位置
12.4 对名字的一半进行组合
12.5 总结
第4部分 在程序中做出选择
第13章 在程序中引入选择机制
13.1 根据条件做出选择
13.1.1 是否问题和真假语句
13.1.2 在语句中添加条件
13.2 编写代码做出选择
13.2.1 一个例子
13.2.2 做出选择的代码:基本方式
13.3 程序的结构变化
13.3.1 做出多个选择
13.3.2 根据另一个选择结果做出选择
13.3.3 一个更加复杂的嵌套的条件的例子
13.4 总结
13.5 章末检测
第14章 做出更复杂的选择
14.1 组合多个条件
14.1.1 由真/假表达式组成的条件
14.1.2 操作符的优先级规则
14.2 选择需要执行的代码行
14.2.1 执行某个操作
14.2.2 综合讨论
14.2.3 对代码块进行的思考
14.3 总结
14.4 章末检测
第15章 阶段性项目:冒险游戏
15.1 制定游戏规则
15.2 创建不同的路径
15.3 更多的选项?可以,尽管尝试
15.4 总结
第5部分 重复执行任务
第16章 用循环重复任务
16.1 重复一个任务
16.1.1 在程序中引入非线性结构
16.1.2 无限循环
16.2 循环一定的次数
for循环
16.3 循环N次
16.3.1 常见的0到N – 1的循环
16.3.2 展开循环
16.4 总结
16.5 章末检测
第17章 自定义的循环
17.1 自定义的循环
17.2 对字符串进行循环
17.3 总结
17.4 章末检测
第18章 在条件满足时一直重复任务
18.1 在条件为真时保持循环
18.1.1 通过循环进行猜数
18.1.2 while循环
18.1.3 无限循环
18.2 for循环和while循环的比较
18.3 对循环进行控制
18.3.1 提前退出循环
18.3.2 回到循环的开始位置
18.4 总结
18.5 章末检测
第19章 阶段性项目:拼字游戏(艺术版)
19.1 理解问题陈述
19.1.1 更改所有合法单词的表示形式
19.1.2 用给定的字母卡组建一个合法的单词
19.2 把代码划分为代码段
19.3 总结
第6部分 将代码组织为可复用的代码块
第20章 创建持久性的程序
20.1 把一个较大的任务分解为更小的任务
20.1.1 在线订购一件商品
20.1.2 理解主要概念
20.2 在编程中引入黑盒代码
20.2.1 使用代码模块
20.2.2 代码的抽象化
20.2.3 复用代码
20.3 子任务存在于它们自己的环境中
20.4 总结
20.5 章末检测
第21章 用函数实现模块化和抽象
21.1 编写函数
21.1.1 函数基础知识:函数的输入
21.1.2 函数基础知识:函数执行的操作
21.1.3 函数基础知识:函数的返回信息
21.2 使用函数
21.2.1 返回多个值
21.2.2 没有return语句的函数
21.3 编写函数说明书
21.4 总结
21.5 章末检测
第22章 函数的高级操作
22.1 从两个角度思考函数
22.1.1 函数编写者的角度
22.1.2 函数使用者的角度
22.2 函数的作用域
22.2.1 简单的作用域例子
22.2.2 作用域规则
22.3 嵌套函数
22.4 把函数作为参数传递
22.5 返回一个函数
22.6 总结
22.7 章末检测
第23章 阶段性项目:对朋友进行分析
23.1 读取文件
23.1.1 文件格式
23.1.2 换行符
23.1.3 删除换行符
23.1.4 使用元组存储信息
23.1.5 返回什么
23.2 对用户的输入进行净化
23.3 测试和调试到目前为止所编写的代码
23.3.1 文件对象
23.3.2 编写一个包含姓名和电话号码的文本文件
23.3.3 打开文件以进行读取
23.4 重复使用函数
23.5 分析信息
23.5.1 规范
23.5.2 帮助函数
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.4.1 使用append
25.4.2 使用insert
25.4.3 使用extend
25.5 从列表中移除元素:pop
25.6 更改元素的值
25.7 总结
25.8 章末检测
第26章 列表的高级操作
26.1 排序和反转列表
26.2 列表的列表
26.3 把字符串转换为列表
26.4 列表的应用
26.4.1 堆栈
26.4.2 队列
26.5 总结
26.6 章末检测
第27章 字典作为对象之间的映射
27.1 创建字典、键和值
27.2 在字典中添加键值对
对键的限制的一些思考
27.3 从字典中删除键值对
27.4 获取字典中所有的键和值
字典中的键值对没有先后顺序
27.5 为什么应该使用字典
27.5.1 使用频率字典进行计数
27.5.2 创建非常规的字典
27.6 总结
27.7 章末检测
第28章 别名以及复制列表和字典
28.1 使用对象的别名
28.1.1 不可变对象的别名
28.1.2 可变对象的别名
28.1.3 可变对象作为函数的参数
28.2 创建可变对象的副本
28.2.1 复制可变对象的命令
28.2.2 获取有序列表的副本
28.2.3 对可变对象进行迭代时需要小心
28.2.4 为什么要存在别名
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.2.1 对象的属性
30.2.2 对象的行为
30.3 使用点号记法
30.4 总结
第31章 为对象类型创建类
31.1 用类实现新的对象类型
31.2 数据属性作为对象的属性
31.2.1 用__init__初始化对象
31.2.2 在__init__内部创建对象属性
31.3 方法作为对象的操作和行为
31.4 使用定义的对象类型
31.5 在__init__中创建带参数的类
31.6 作用于类名而不是对象的点号记法
31.7 总结
31.8 章末检测
第32章 使用自己的对象类型
32.1 定义堆栈对象
32.1.1 选择数据属性
32.1.2 实现Stack类的方法
32.2 使用Stack对象
32.2.1 创建一个煎饼堆栈
32.2.2 创建一个圆堆栈
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.5.1 设置对象
34.5.2 模拟游戏中的回合
34.6 用类实现模块化和抽象
34.7 总结
第9部分 使用程序库完善自己的程序
第35章 实用的程序库
35.1 导入程序库
35.2 用math库进行数学运算
35.3 用random库操作随机数
35.3.1 随机化的列表
35.3.2 模拟概率游戏
35.3.3 使用种子重复结果
35.4 用time库对程序进行计时
35.4.1 使用时钟
35.4.2 使程序暂停运行
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 各章习题的答案
附录B Python语法摘要
附录C 有趣的Python程序库
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜