×
暂无评论
图文详情
  • ISBN:9787115519771
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:408
  • 出版时间:2023-01-01
  • 条形码:9787115519771 ; 978-7-115-51977-1

本书特色

学习计算机编程的有效方式就是实践。不管读者是想要提升自己的编程能力还是只想完成一些项目,都可从本书得到一些启发。本书专门为初学者所设计,以一步接一步、一个项目接一个项目的方式帮助他们学习编程。对初学者来说,学习编程正当其时! 本书使用Python语言向读者介绍计算机编程的基础知识。在这本实操任务驱动的图书中,读者几乎在每一页需要完成一些操作,从而完成38个紧凑的课时和8个基础项目的学习。精美的插图、难度适宜的习题以及恰到好处的提示,可以帮助读者极快地养成程序员的思维方式。 通过本书,你可以:掌握在任何语言中都可以使用的编程技巧;不需要任何经验就可以学习编写代码;学习Python这门面向初学者的语言;通过大量的习题和实例巩固和提高编程能力。

内容简介

本书是一本真正地从零开始讲解Python编程的图书,它旨在让零基础读者较快地掌握编程知识,并能使用程序来满足自己的需要。本书共有9个部分,除第1部分外,其余部分都以一个阶段性项目结尾。第1部分(第1~2章)介绍了学习编程的意义;第2部分(第3~6章)介绍编程的基本知识;第3部分(第7~12章)讲解了字符串、元组以及与用户交互的代码;第4部分(第13~15章)介绍如何编写程序来进行选择;第5部分(第16~19章)主要涉及循环的相关知识;第6部分(第20~23章)引入了函数和模块化的相关概念;第7部分(第24~29章)介绍了一些高级对象类型,如可变对象、列表、字典等;第8部分(第30~34章)为面向对象编程的相关知识;第9部分(第35~38章)介绍了一些可供读者使用的现成代表库。

目录

第 1部分 学习编程 第 1章 为什么要学习编程 3 1.1 为什么编程很重要 3 1.1.1 编程并不仅限于专业人员 3 1.1.2 改善自己的生活 4 1.1.3 挑战自我 4 1.2 起点与终点 5 1.3 我们的编程学习计划 7 1.3.1 开始步骤 7 1.3.2 实践!实践!实践 7 1.3.3 像程序员一样思考 8 1.4 总结 9 第 2章 学习编程语言的基本原则 10 2.1 编程是一项技能 10 2.2 以烘焙为比喻 11 2.2.1 理解“烘焙一块面包”这个任务 11 2.2.2 寻找菜谱 12 2.2.3 用流程图展示菜谱的可视化表现形式 13 2.2.4 使用现有的菜谱或自己创建一份菜谱 14 2.3 思考、编码、测试、调试、重复 14 2.3.1 理解任务 16 2.3.2 任务的黑盒表现形式 16 2.3.3 编写伪码 18 2.4 编写容易阅读的代码 18 2.4.1 使用描述性和有意义的名称 19 2.4.2 对代码进行注释 19 2.5 总结 20 第 2部分 变量、类型、表达式和语句 第3章 介绍Python编程语言 23 3.1 安装Python 23 3.1.1 什么是Python 24 3.1.2 下载Python 3.5版本 24 3.1.3 Anaconda Python发布包 24 3.1.4 集成开发环境 24 3.2 设置工作空间 26 3.2.1 IPython控制台 27 3.2.2 文件编辑器 29 3.3 总结 31 第4章 变量和表达式:为对象赋予名称和值 32 4.1 为对象提供名称 33 4.1.1 数学与编程 33 4.1.2 计算机可以做什么?不可以做什么 34 4.2 变量 35 4.2.1 对象就是可以进行操作的物品 35 4.2.2 对象具有名称 35 4.2.3 允许什么样的对象名称 36 4.2.4 创建变量 37 4.2.5 更新变量 38 4.3 总结 40 4.4 章末检测 40 第5章 对象的类型和代码的语句 41 5.1 对象的类型 42 5.2 编程中对象的基本类型 42 5.2.1 整数 42 5.2.2 表示小数的浮点数 43 5.2.3 表示真 假的布尔值 44 5.2.4 表示字符序列的字符串 44 5.2.5 空值 44 5.3 使用基本类型的数据值 45 5.3.1 表达式的构件 45 5.3.2 不同类型之间的转换 46 5.3.3 数学运算对对象类型的影响 46 5.4 总结 48 第6章 阶段性项目:第 一个Python程序—时分转换 49 6.1 思考、编码、测试、调试、重复 50 6.2 分解任务 50 6.2.1 设置输入 51 6.2.2 设置输出 51 6.3 实现转换公式 51 6.3.1 多少小时 51 6.3.2 多少分钟 52 6.4 第 一个Python程序:解决方案一 52 6.5 第 一个Python程序:解决方案二 54 6.6 总结 55 6.7 章末检测 55 第3部分 字符串、元组以及与用户的交互 第7章 介绍字符串对象:字符序列 59 7.1 字符串就是字符序列 60 7.2 字符串的基本操作 60 7.2.1 创建字符串对象 60 7.2.2 理解字符串的索引 61 7.2.3 理解字符串的截取 62 7.3 字符串对象的其他操作 63 7.3.1 使用len()获取字符串的字符数量 63 7.3.2 用upper()和lower()进行字母大小写的转换 64 7.4 总结 65 7.5 章末检测 65 第8章 字符串的高级操作 66 8.1 与子字符串有关的操作 67 8.1.1 使用find()在字符串中查找一个特定的子字符串 67 8.1.2 用“in”判断字符串中是否包含某个子字符串 68 8.1.3 用count()获取一个子字符串的出现次数 69 8.1.4 用replace()替换子字符串 69 8.2 数学操作 70 8.3 总结 71 8.4 章末检测 71 第9章 简单的错误消息 72 9.1 输入语句并尝试执行 72 9.2 理解字符串错误消息 73 9.3 总结 74 9.4 章末检测 74 第 10章 元组对象:任意类型的对象序列 75 10.1 元组就是数据序列 76 10.2 理解对元组的操作 77 10.2.1 用len()获取元组的长度 77 10.2.2 用[]获取元组索引以及截取元组的部分内容 77 10.2.3 执行数学操作 79 10.2.4 在元组内部交换对象 79 10.3 总结 80 10.4 章末检测 80 第 11章 与用户的交互 81 11.1 显示输出 82 11.1.1 打印表达式 82 11.1.2 打印多个对象 83 11.2 获取用户的输入 83 11.2.1 提示用户进行输入 84 11.2.2 读取输入 84 11.2.3 把输入存储在变量中 85 11.2.4 把用户的输入转换为不同类型 85 11.2.5 要求更多的输入 86 11.3 总结 87 11.4 章末检测 87 第 12章 阶段性项目:姓名的混搭 88 12.1 理解问题陈述 89 12.1.1 画出程序的基本结构 89 12.1.2 设计例子 90 12.1.3 把问题抽象化为伪码 90 12.2 分割名字和姓氏 91 12.2.1 寻找名字和姓氏之间的空格 91 12.2.2 使用变量保存经过处理的值 91 12.2.3 对到目前为止完成的工作进行测试 92 12.3 存储所有名字的一半 93 12.4 对名字的一半进行组合 94 12.5 总结 95 第4部分 在程序中做出选择 第 13章 在程序中引入选择机制 99 13.1 根据条件做出选择 100 13.1.1 是否问题和真假语句 100 13.1.2 在语句中添加条件 101 13.2 编写代码做出选择 101 13.2.1 一个例子 102 13.2.2 做出选择的代码:基本方式 103 13.3 程序的结构变化 103 13.3.1 做出多个选择 104 13.3.2 根据另一个选择结果做出选择 104 13.3.3 一个更加复杂的嵌套的条件的例子 106 13.4 总结 108 13.5 章末检测 108 第 14章 做出更复杂的选择 109 14.1 组合多个条件 110 14.1.1 由真 假表达式组成的条件 111 14.1.2 操作符的优先级规则 112 14.2 选择需要执行的代码行 114 14.2.1 执行某个操作 114 14.2.2 综合讨论 117 14.2.3 对代码块进行的思考 119 14.3 总结 120 14.4 章末检测 121 第 15章 阶段性项目:冒险游戏 122 15.1 制定游戏规则 122 15.2 创建不同的路径 123 15.3 更多的选项?可以,尽管尝试 124 15.4 总结 126 第5部分 重复执行任务 第 16章 用循环重复任务 129 16.1 重复一个任务 130 16.1.1 在程序中引入非线性结构 130 16.1.2 无限循环 131 16.2 循环一定的次数 132 16.3 循环N次 134 16.3.1 常见的0到N–1的循环 135 16.3.2 展开循环 135 16.4 总结 136 16.5 章末检测 136 第 17章 自定义的循环 137 17.1 自定义的循环 138 17.2 对字符串进行循环 139 17.3 总结 141 17.4 章末检测 141 第 18章 在条件满足时一直重复任务 143 18.1 在条件为真时保持循环 144 18.1.1 通过循环进行猜数 144 18.1.2 while循环 145 18.1.3 无限循环 146 18.2 for循环和while循环的比较 147 18.3 对循环进行控制 149 18.3.1 提前退出循环 149 18.3.2 回到循环的开始位置 150 18.4 总结 152 18.5 章末检测 152 第 19章 阶段性项目:拼字游戏(艺术版) 153 19.1 理解问题陈述 154 19.1.1 更改所有合法单词的表示形式 154 19.1.2 用给定的字母卡组建一个合法的单词 156 19.2 把代码划分为代码段 159 19.3 总结 161 第6部分 将代码组织为可复用的代码块 第 20章 创建持久性的程序 165 20.1 把一个较大的任务分解为更小的任务 166 20.1.1 在线订购一件商品 166 20.1.2 理解主要概念 168 20.2 在编程中引入黑盒代码 169 20.2.1 使用代码模块 169 20.2.2 代码的抽象化 169 20.2.3 复用代码 170 20.3 子任务存在于它们自己的环境中 172 20.4 总结 173 20.5 章末检测 174 第 21章 用函数实现模块化和抽象 175 21.1 编写函数 176 21.1.1 函数基础知识:函数的输入 177 21.1.2 函数基础知识:函数执行的操作 178 21.1.3 函数基础知识:函数的返回信息 178 21.2 使用函数 179 21.2.1 返回多个值 180 21.2.2 没有return语句的函数 182 21.3 编写函数说明书 184 21.4 总结 184 21.5 章末检测 185 第 22章 函数的高级操作 186 22.1 从两个角度思考函数 187 22.1.1 函数编写者的角度 187 22.1.2 函数使用者的角度 187 22.2 函数的作用域 188 22.2.1 简单的作用域例子 188 22.2.2 作用域规则 188 22.3 嵌套函数 192 22.4 把函数作为参数传递 193 22.5 返回一个函数 194 22.6 总结 195 22.7 章末检测 195 第 23章 阶段性项目:对朋友进行分析 197 23.1 读取文件 198 23.1.1 文件格式 198 23.1.2 换行符 198 23.1.3 删除换行符 199 23.1.4 使用元组存储信息 200 23.1.5 返回什么 200 23.2 对用户的输入进行净化 201 23.3 测试和调试到目前为止所编写的代码 202 23.3.1 文件对象 202 23.3.2 编写一个包含姓名和电话号码的文本文件 202 23.3.3 打开文件以进行读取 203 23.4 重复使用函数 203 23.5 分析信息 204 23.5.1 规范 204 23.5.2 帮助函数 205 23.6 总结 208 第7部分 使用可变数据类型 第 24章 可变对象和不可变对象 211 24.1 不可变对象 212 24.2 对可变性的需求 214 24.3 总结 216 24.4 章末检测 216 第 25章 对列表进行操作 217 25.1 列表与元组的比较 218 25.2 创建列表和获取特定位置的元素 219 25.3 对元素进行计数以及获取元素的位置 220 25.4 在列表中添加元素:append、insert和extend 221 25.4.1 使用append 221 25.4.2 使用insert 222 25.4.3 使用extend 222 25.5 从列表中移除元素:pop 223 25.6 更改元素的值 224 25.7 总结 225 25.8 章末检测 226 第 26章 列表的高级操作 227 26.1 排序和反转列表 228 26.2 列表的列表 229 26.3 把字符串转换为列表 230 26.4 列表的应用 231 26.4.1 堆栈 231 26.4.2 队列 232 26.5 总结 233 26.6 章末检测 233 第 27章 字典作为对象之间的映射 234 27.1 创建字典、键和值 236 27.2 在字典中添加键值对 237 27.3 从字典中删除键值对 238 27.4 获取字典中所有的键和值 239 27.5 为什么应该使用字典 241 27.5.1 使用频率字典进行计数 241 27.5.2 创建非常规的字典 242 27.6 总结 243 27.7 章末检测 243 第 28章 别名以及复制列表和字典 245 28.1 使用对象的别名 246 28.1.1 不可变对象的别名 246 28.1.2 可变对象的别名 247 28.1.3 可变对象作为函数的参数 249 28.2 创建可变对象的副本 250 28.2.1 复制可变对象的命令 250 28.2.2 获取有序列表的副本 251 28.2.3 对可变对象进行迭代时需要小心 252 28.2.4 为什么要存在别名 253 28.3 总结 254 28.4 章末检测 254 第 29章 阶段性项目:文档的相似度 255 29.1 把问题分解为不同的子任务 256 29.2 读取文件信息 256 29.3 保存文件中的所有单词 257 29.4 把单词映射到它们的频率 259 29.5 使用相似度比较两个文档 260 29.6 *终的整合 261 29.7 一个可能的扩展 262 29.8 总结 263 第8部分 使用面向对象编程创建自己的对象类型 第30章 创建自己的对象类型 267 30.1 为什么需要新类型 268 30.2 什么组成了一个对象 269 30.2.1 对象的属性 269 30.2.2 对象的行为 270 30.3 使用点号记法 270 30.4 总结 271 第31章 为对象类型创建类 272 31.1 用类实现新的对象类型 273 31.2 数据属性作为对象的属性 273 31.2.1 用_ _init_ _初始化对象 274 31.2.2 在_ _init_ _内部创建对象属性 274 31.3 方法作为对象的操作和行为 275 31.4 使用定义的对象类型 276 31.5 在_ _init_ _中创建带参数的类 277 31.6 作用于类名而不是对象的点号记法 278 31.7 总结 279 31.8 章末检测 279 第32章 使用自己的对象类型 280 32.1 定义堆栈对象 281 32.1.1 选择数据属性 281 32.1.2 实现Stack类的方法 282 32.2 使用Stack对象 283 32.2.1 创建一个煎饼堆栈 283 32.2.2 创建一个圆堆栈 284 32.3 总结 287 32.4 章末检测 287 第33章 对类进行自定义 288 33.1 覆写一个特殊的方法 289 33.2 在自己的类中覆写print()方法 291 33.3 背后发生的事情 292 33.4 可以对类做什么 293 33.5 总结 294 33.6 章末检测 294 第34章 阶段性项目:牌类游戏 295 34.1 使用已经存在的类 296 34.2 详细分析游戏规则 296 34.3 定义Player类 297 34.4 定义CardDeck类 298 34.5 模拟牌类游戏 299 34.5.1 设置对象 299 34.5.2 模拟游戏中的回合 300 34.6 用类实现模块化和抽象 301 34.7 总结 302 第9部分 使用程序库完善自己的程序 第35章 实用的程序库 305 35.1 导入程序库 306 35.2 用math库进行数学运算 308 35.3 用random库操作随机数 309 35.3.1 随机化的列表 309 35.3.2 模拟概率游戏 310 35.3.3 使用种子重复结果 311 35.4 用time库对程序进行计时 312 35.4.1 使用时钟 312 35.4.2 使程序暂停运行 312 35.5 总结 313 35.6 章末检测 313 第36章 测试和调试程序 314 36.1 使用unittest程序库 315 36.2 将程序与测试分离 316 36.3 调试代码 319 36.4 总结 321 36.5 章末检测 322 第37章 图形用户接口程序库 323 37.1 一个图形用户接口库 323 37.2 使用tkinter库设置程序 324 37.3 添加部件 325 37.4 添加事件处理函数 327 37.5 总结 329 37.6 章末检测 330 第38章 阶段性项目:追逐游戏 331 38.1 确认问题的组成部分 332 38.2 在窗口中创建两个形状 332 38.3 在画布中移动形状 335 38.4 检测形状之间的碰撞 337 38.5 可能的扩展 338 38.6 总结 339 附录A 各章习题的答案 340 附录B Python语法摘要 381 附录C 有趣的Python程序库 384
展开全部

作者简介

[美]安娜·贝尔(Ana Bell)博士是麻省理工学院(Massachusetts Institute of Technology,MIT)电子工程和计算机科学系的讲师。 她用Python主讲了两门计算机科学入门课程,历时已有五年之久。其中一门课程的目标人群是那些没有任何编程经验的学生,另一门课程在前一门课程的基础上进行了拓展。她非常乐于向学生讲授编程知识,并且享受学生们在学习编程过程中由于不断进步而逐渐获得的自信。用不同的方式向学生讲述同一个概念,学生能够融会贯通地理解和应用是她收获的回报。 她在普林斯顿大学时开始接触Python,并在自己的研究中应用Python解决问题。根据自己的经验,她觉得Python是一种天性自然的语言,非常易于学习和使用。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航