×
Python程序设计(原书第3版)/计算机科学丛书

Python程序设计(原书第3版)/计算机科学丛书

1星价 ¥114.9 (6.8折)
2星价¥114.9 定价¥169.0
暂无评论
图文详情
  • ISBN:9787111678816
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:585
  • 出版时间:2021-05-01
  • 条形码:9787111678816 ; 978-7-111-67881-6

本书特色

面向Python初学者,循序渐进地将问题解决方案一步步呈现在读者面前,新版添加了面向数据科学的示例及练习

内容简介

本书面向Python初学者,采用模块方式呈现知识要点,而非百科全书式的语法大全。书中介绍了数值、字符串、列表、字典、集合、控制结构、函数、递归、排序、面向对象编程、文件操作等基础知识,通过大量案例来演示这些技术,重视计算思维的培养,由浅入深地将解决问题的完整方案一步步呈现在读者面前。本版新增了面向数据科学的程序示例和练习,扩展了有关字符串和列表的内容,并引入了海龟图形和游戏编程等新的数据包。 本书既可作为高等院校计算机专业门程序设计课的教材,也可供Python爱好者自学参考。

目录

出版者的话 译者序 前言 第1章 导论 1 1.1 计算机程序 1 1.2 计算机组成结构 2 1.3 Python程序设计语言 4 1.4 熟悉程序设计环境 5 1.5 分析我们的**个程序 9 1.6 错误信息 11 1.7 问题求解:算法设计 12 本章小结 18 复习题 19 编程题 20 第2章 数值和字符串编程 22 2.1 变量 22 2.1.1 定义变量 22 2.1.2 数值类型 24 2.1.3 变量名称 25 2.1.4 常量 25 2.1.5 注释 26 2.2 算术运算 28 2.2.1 基本的算术运算 28 2.2.2 乘幂 28 2.2.3 整除和余数 29 2.2.4 调用函数 30 2.2.5 数学函数 31 2.3 问题求解:先手工演算 35 2.4 字符串 38 2.4.1 字符串类型 38 2.4.2 字符串的拼接和重复 38 2.4.3 数值和字符串之间的相互转换 39 2.4.4 字符串和字符 40 2.4.5 字符串方法 41 2.5 输入和输出 43 2.5.1 用户输入 43 2.5.2 数值输入 44 2.5.3 格式化输出 45 2.6 图形应用:简单绘图 54 2.6.1 创建窗口 54 2.6.2 直线和多边形 55 2.6.3 填充形状和颜色 57 2.6.4 椭圆、圆和文本 59 本章小结 64 复习题 65 编程题 68 第3章 选择结构 76 3.1 if语句 76 3.2 关系运算符 80 3.3 嵌套分支 87 3.4 多分支结构 91 3.5 问题求解:流程图 96 3.6 问题求解:测试用例 99 3.7 布尔变量和运算符 100 3.8 分析字符串 105 3.9 应用案例:输入验证 107 本章小结 120 复习题 121 编程题 127 第4章 循环结构 136 4.1 while语句 136 4.2 问题求解:手工跟踪 142 4.3 应用案例:处理哨兵值 145 4.4 问题求解:故事板 148 4.5 常用循环算法 150 4.5.1 求和和平均数 150 4.5.2 匹配项计数 151 4.5.3 提示输入直到找到匹配项 151 4.5.4 *大值和*小值 151 4.5.5 比较相邻值 152 4.6 for循环 153 4.7 嵌套循环 161 4.8 处理字符串 167 4.8.1 统计匹配项 167 4.8.2 查找所有匹配项 167 4.8.3 找到**个或者*后一个匹配项 167 4.8.4 验证字符串 168 4.8.5 创建新的字符串 169 4.9 应用案例:随机数和仿真 170 4.9.1 生成随机数 170 4.9.2 模拟掷骰子 171 4.9.3 蒙特卡罗方法 172 4.10 图形应用:数字图像处理 176 4.10.1 过滤图像 176 4.10.2 重新配置图像 179 4.11 问题求解:先易后难 180 本章小结 185 复习题 186 编程题 190 第5章 函数 200 5.1 作为黑盒的函数 200 5.2 实现和测试函数 201 5.2.1 实现函数 201 5.2.2 测试函数 202 5.2.3 包含函数的程序 202 5.3 参数传递 205 5.4 返回值 207 5.5 不带返回值的函数 214 5.6 问题求解:可复用函数 217 5.7 问题求解:逐步求精 218 5.8 变量的作用范围 231 5.9 图形应用:构建图像处理工具包 237 5.9.1 入门 237 5.9.2 比较图像 238 5.9.3 调整图像亮度 238 5.9.4 旋转图像 240 5.9.5 使用工具包 241 5.10 递归函数(可选) 245 本章小结 255 复习题 256 编程题 259 第6章 列表 266 6.1 列表的基本属性 266 6.1.1 创建列表 266 6.1.2 访问列表元素 267 6.1.3 遍历列表 269 6.1.4 列表引用 269 6.2 列表操作 273 6.2.1 附加元素 273 6.2.2 插入元素 273 6.2.3 查找元素 274 6.2.4 删除元素 275 6.2.5 拼接和复制 276 6.2.6 相等性测试 276 6.2.7 求和、*大值、*小值和排序 276 6.2.8 复制列表 277 6.3 常用列表算法 279 6.3.1 填充列表 279 6.3.2 组合列表元素 279 6.3.3 元素分隔符 280 6.3.4 *大值和*小值 280 6.3.5 线性查找 281 6.3.6 收集和统计匹配项 281 6.3.7 删除匹配项 282 6.3.8 交换元素 283 6.3.9 读取输入 284 6.4 将列表与函数一起使用 288 6.5 问题求解:修改算法 295 6.6 问题求解:通过操作实体对象发现算法 300 6.7 表格 304 6.7.1 创建表格 304 6.7.2 访问元素 305 6.7.3 定位相邻元素 305 6.7.4 计算行总计和列总计 306 6.7.5 将表格与函数一起使用 306 本章小结 314 复习题 315 编程题 318 第7章 文件和异常 325 7.1 读取和写入文本文件 325 7.1.1 打开文件 325 7.1.2 读取文件 326 7.1.3 写入文件 327 7.1.4 文件处理示例 327 7.2 文本输入和输出 328 7.2.1 遍历文件中的行 329 7.2.2 读取单词 330 7.2.3 读取字符 332 7.2.4 读取记录 333 7.3 命令行参数 340 7.4 二进制文件和随机访问(可选) 352 7.4.1 读取和写入二进制文件 352 7.4.2 随机访问 353 7.4.3 图像文件 353 7.4.4 处理BMP文件 355 7.5 异常处理 361 7.5.1 引发异常 361 7.5.2 处理异常 362 7.5.3 finally子句 364 7.6 应用案例:处理输入错误 367 本章小结 378 复习题 379 编程题 380 第8章 集合和字典 390 8.1 集合 390 8.1.1 创建和使用集合 390 8.1.2 添加和删除元素 392 8.1.3 子集 393 8.1.4 并集、交集和差集 393 8.2 字典 400 8.2.1 创建字典 401 8.2.2 访问字典的值 401 8.2.3 添加和修改数据项 401 8.2.4 删除数据项 402 8.2.5 遍历字典 403 8.3 复杂的数据结构 409 8.3.1 包含集合的字典 409 8.3.2 包含列表的字典 411 本章小结 420 复习题 421 编程题 423 第9章 对象和类 426 9.1 面向对象的程序设计 426 9.2 实现一个简单的类 427 9.3 指定类的公共接口 430 9.4 设计数据表示 431 9.5 构造函数 432 9.6 实现方法 435 9.7 测试类 438 9.8 问题求解:跟踪对象 445 9.9 问题求解:对象数据的模式 448 9.9.1 使用总计 448 9.9.2 统计事件 449 9.9.3 收集值 449 9.9.4 管理对象的属性 449 9.9.5 使用不同的状态建模对象 450 9.9.6 描述对象的位置 451 9.10 对象引用 451 9.10.1 共享引用 452 9.10.2 None引用 453 9.10.3 self引用 454 9.10.4 对象的生命周期 454 9.11 应用案例:实现一个Fraction类 456 9.11.1 Fraction类的设计 456 9.11.2 构造函数 457 9.11.3 特殊方法 458 9.11.4 算术运算 459 9.11.5 逻辑运算 460 本章小结 467 复习题 468 编程题 469 第10章 继承 475 10.1 继承的层次结构 475 10.2 实现子类 479 10.3 调用超类的构造函数 482 10.4 重写方法 485 10.5 多态 488 10.6 应用案例:几何图形类的层次结构 500 10.6.1 基类 500 10.6.2 基本形状 502 10.6.3 形状组 505 本章小结 514 复习题 514 编程题 515 第11章 递归 520 11.1 三角形数字之再探讨 520 11.2 问题求解:递归思维 523 11.3 递归辅助函数 527 11.4 递归的效率 528 11.5 排列 533 11.6 回溯 536 11.7 相互递归 543 本章小结 550 复习题 550 编程题 551 第12章 排序和查找 556 12.1 选择排序算法 556 12.2 选择排序算法的性能测量 558 12.3 选择排序算法的性能分析 559 12.4 合并排序算法 563 12.5 分析合并排序算法 565 12.6 查找算法 569 12.6.1 线性查找 570 12.6.2 二分查找 571 12.7 问题求解:估计算法的运行时间 573 12.7.1 线性时间 573 12.7.2 二次时间 574 12.7.3 三角形模式 575 12.7.4 对数时间 576 本章小结 581 复习题 581 编程题 584
展开全部

作者简介

凯·霍斯特曼(Cay Horstmann) 圣何塞州立大学计算机科学系教授,Java的倡导者,经常在开发人员会议上发表演讲。他是《Java核心技术》的作者,同时也关注Python、Scala、C++等语言,为专业程序员和计算机科学专业学生编写过数十本图书。 兰斯·尼塞斯(Rance Necaise) 兰道尔夫-麦肯学院计算机科学系副教授,撰写了《Data Structures and Algorithms Using Python》和《Python for Java Programmers》等技术书籍。

预估到手价 ×

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

确定
快速
导航