计算机
类型
可以朗读
语音朗读
301千字
字数
2023-01-01
发行日期
展开全部
主编推荐语
9部分全面学编程:基础知识、对象类型、高级概念、现成代码库。
内容简介
本书共有9个部分,每个部分都以一个阶段性项目结尾。第1部分介绍了学习编程的意义;第2部分介绍编程的基本知识;第3部分讲解了字符串、元组以及与用户交互的代码;第4部分介绍如何编写程序来进行选择;第5部分主要涉及循环的相关知识;第6部分引进了函数和模块化的相关概念;第7部分介绍了一些高级对象类型,如可变对象、列表、字典等;第8部分为面向对象编程的相关知识;第9部分介绍了一些可供读者使用的现成代表库。
目录
- 版权信息
- 版 权
- 内容提要
- 序
- 致谢
- 前言
- 作者简介
- 资源与支持
- 第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程序库
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。