展开全部

主编推荐语

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日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。