新書推薦:
《
古典的回響:溪客舊廬藏明清文人繪畫
》
售價:NT$
1990.0
《
根源、制度和秩序:从老子到黄老学(王中江著作系列)
》
售價:NT$
550.0
《
索恩丛书·北宋政治与保守主义:司马光的从政与思想(1019~1086)
》
售價:NT$
345.0
《
掌故家的心事
》
售價:NT$
390.0
《
农为邦本——农业历史与传统中国
》
售價:NT$
340.0
《
郊庙之外:隋唐国家祭祀与宗教 增订版 (三联·哈佛燕京学术丛书)
》
售價:NT$
480.0
《
小麦文明:“黄金石油”争夺战
》
售價:NT$
445.0
《
悬壶杂记全集:老中医多年临证经验总结(套装3册) 中医医案诊疗思路和处方药应用
》
售價:NT$
614.0
內容簡介:
本书介绍Python的基础知识,旨在帮助学生首先掌握概念,之后通过步骤完备的实例培养学生的问题求解能力。这一版采用Python3,并对全书结构进行了优化,既可作为*门程序设计课的入门教材,也可供Python爱好者自学参考。
關於作者:
凯·霍斯特曼(Cay Horstmann) 圣何塞州立大学计算机科学系教授,Java的倡导者,经常在开发人员会议上发表演讲。他是《Java核心技术》的作者,同时也关注Python、Scala、C++等语言,为专业程序员和计算机科学专业学生编写过数十本图书。
兰斯·尼塞斯(Rance Necaise) 兰道尔夫-麦肯学院计算机科学系副教授,撰写了《Data Structures and Algorithms Using Python》和《Python for Java Programmers》等技术书籍。
目錄 :
出版者的话
译者序
前言
第1章 概述1
1.1 计算机程序1
1.2 深入剖析计算机2
1.3 Python编程语言4
1.4 熟悉编程环境5
1.5 分析第一个程序9
1.6 错误11
1.7 问题解决:算法设计13
本章小结18
复习题19
编程练习20
第2章 数字与字符串编程23
2.1 变量23
2.1.1 定义变量23
2.1.2 数字类型25
2.1.3 变量名26
2.1.4 常量27
2.1.5 注释27
2.2 算术运算29
2.2.1 基本算术运算29
2.2.2 幂运算30
2.2.3 整除和余数30
2.2.4 调用函数31
2.2.5 数学函数33
2.3 问题解决:首先手工完成36
2.4 字符串39
2.4.1 字符串类型39
2.4.2 连接与重复40
2.4.3 转换数字和字符串41
2.4.4 字符串与字符41
2.4.5 字符串方法42
2.5 输入输出45
2.5.1 用户输入45
2.5.2 输入数字46
2.5.3 格式化输出47
2.6 图形:简单绘图56
2.6.1 创建窗口56
2.6.2 线和多边形57
2.6.3 内部填充的形状与颜色58
2.6.4 椭圆、圆和文本60
本章小结66
复习题67
编程练习69
第3章 选择结构78
3.1 if语句78
3.2 关系运算符82
3.3 嵌套的分支90
3.4 多重选择94
3.5 问题解决:流程图99
3.6 问题解决:测试用例102
3.7 布尔变量和运算符104
3.8 分析字符串109
3.9 应用:输入验证112
本章小结125
复习题126
编程练习131
第4章 循环142
4.1 while循环142
4.2 问题解决:手工跟踪148
4.3 应用:处理警戒值151
4.4 问题解决:故事板155
4.5 常见循环算法158
4.5.1 数值求和与平均158
4.5.2 匹配计数158
4.5.3 遇到匹配项之前一直提示159
4.5.4 最大值与最小值159
4.5.5 比较相邻值159
4.6 for循环161
4.7 嵌套循环168
4.8 处理字符串175
4.8.1 统计匹配项175
4.8.2 查找所有匹配176
4.8.3 查找第一个或最后一个匹配项176
4.8.4 验证字符串176
4.8.5 构建新字符串177
4.9 应用:随机数和模拟179
4.9.1 生成随机数179
4.9.2 模拟掷骰子180
4.9.3 蒙特卡罗方法180
4.10 图形:数字图像处理184
4.10.1 图像过滤184
4.10.2 重构图像187
4.11 问题解决:先解决一个简单些的问题188
本章小结194
复习题195
编程练习199
第5章 函数212
5.1 函数如同黑盒子212
5.2 实现和测试函数213
5.2.1 实现函数213
5.2.2 测试函数214
5.2.3 包含函数的程序215
5.3 参数传递217
5.4 返回值219
5.5 没有返回值的函数228
5.6 问题解决:可复用的函数229
5.7 问题解决:逐步提炼233
5.8 变量作用域246
5.9 图形:实现图像处理工具包252
5.9.1 准备开始252
5.9.2 比较图像253
5.9.3 调整图像亮度253
5.9.4 旋转图像255
5.9.5 使用工具包256
5.10 递归函数(可选)260
本章小结264
复习题265
编程练习267
第6章 列表276
6.1 列表基本属性276
6.1.1 创建列表276
6.1.2 访问列表元素277
6.1.3 遍历列表278
6.1.4 列表引用279
6.2 列表操作282
6.2.1 追加元素282
6.2.2 插入元素282
6.2.3 查找元素283
6.2.4 删除元素284
6.2.5 连接与重复285
6.2.6 相等性测试285
6.2.7 求和、最大值、最小值和排序285
6.2.8 复制列表285
6.3 常用列表算法288
6.3.1 填充288
6.3.2 合并列表元素288
6.3.3 元素分隔符289
6.3.4 最大值和最小值289
6.3.5 线性搜索290
6.3.6 收集和统计匹配项290
6.3.7 删除匹配项291
6.3.8 交换元素291
6.3.9 读取输入292
6.4 在函数中使用列表297
6.5 问题解决:修改算法304
6.6 问题解决:通过处理物理对象发现算法310
6.7 表格314
6.7.1 创建表格314
6.7.2 访问元素315
6.7.3 定位邻居元素315
6.7.4 计算行和列的总和316
6.7.5 在函数中使用表格316
本章小结324
复习题325
编程练习328
第7章 文件与异常337
7.1 读取和写入文本文件337
7.1.1 打开文件337
7.1.2 读取文件338
7.1.3 写入文件339
7.1.4 文件处理案例339
7.2 文本输入和输出341
7.2.1 迭代文件中的行341
7.2.2 读取单词342
7.2.3 读取字符344
7.2.4 读取记录345
7.3 命令行参数353
7.4 二进制文件与随机访问(可选)365
7.4.1 读写二进制文件365
7.4.2 随机访问366
7.4.3 图像文件366
7.4.4 处理BMP文件367
7.5 异常处理373
7.5.1 抛出异常374
7.5.2 处理异常375
7.5.3 finally子句376
7.6 应用:处理输入错误380
本章小结391
复习题392
编程练习393
第8章 集合与字典404
8.1 集合404
8.1.1 创建和使用集合404
8.1.2 增加和删除元素405
8.1.3 子集406
8.1.4 并集、交集和差集4
內容試閱 :
本书主要介绍Python编程要领与高效学习的方法,内容非常广泛,适合作为计算机科学与技术以及其他学科领域学生的第一门程序设计课程教材。阅读本书并不需要读者拥有编程经验,只需要掌握一些高中的代数知识就可以了。为了教学方便,本书采用Python 3,它在很多方面比Python 2更加有规律。
本书主要特色
首先介绍基本语法。
本书采用了传统套路,首先强调程序控制结构、函数、过程分解和内置数据结构,在合适的章节中尽可能早地提到并使用了对象的概念,但是到了第9章才要求学生开始设计和实现自定义类。
适当的引导和可运行示例帮助学生顺利成功。
程序员新手总是会问:“我该怎么开始?现在我该怎么办?”当然,编写程序这样一件复杂的事情无法简化为类似于食谱一样的简单指令。然而,一步一步的引导毫无疑问对于树立信心和给出手头任务的梗概是非常有帮助的。“问题解决”强调设计和计划的重要性,“如何做”引导和帮助学生完成一些常见的编程任务,还有大量“编程实战”演示了如何利用本章学到的概念去解决有趣的问题。
问题解决策略明确。
实用的、按步骤的技术图解可以帮助学生设计和评估编程问题的解决方案,在非常相关和必要的时候介绍这些策略,可以帮助大多数学生扫除通往成功的障碍。这些策略包括:
算法设计(使用伪代码)
首先手工完成(手工完成样例的计算)
流程图
测试用例
手工跟踪
故事板
先解决一个简单些的问题
可复用的函数
逐步提炼
修改算法
通过处理物理对象发现算法
跟踪对象
对象数据的模式
递归思维
估算算法的运行时间
有效的练习使得一切更加完美。
专业学习编程的学生需要有能力实现一些了不起的程序,但他们首先需要相信自己可以成功。本书每节后面有大量的自测题,并通过“练习它”指针来表示。另外,还通过在线方式提供了更多的练习机会,包括自动升级的编程练习和技巧型的多选问题。
通过可视化的方式激发读者并方便导航。
图片以可视化的方式解释了计算机概念的本质和行为,逐步展示的图片可以更好地说明复杂的程序操作。语法框和示例表使用紧凑的格式提供了大量典型和特殊的情况,在关注文字材料之前通过浏览这些视觉资料可以很容易地了解大概情况。
技术上精确的同时关注要领。
像百科全书一样地罗列所有内容对编程新手来说是没有帮助的,同样,仅仅给出一个非常简化的要点列表也是没有帮助的。本书以容易消化和理解的方式给出要领,例如一些可以深入练习达到更好效果的注解,或者当读者已经准备好接收更多信息时给出的语言特性。
本版更新
扩充了图形图像处理知识。
为了加强对语言结构的理解,增加了图形处理的使用。学生在第4章学习设计和使用循环时会开始接触到图像处理,第5章在创建图像处理函数工具包时会再次接触到这些内容。
工具箱模块。
很多可选的“工具箱”介绍了丰富的Python库生态中有用的包。借助这些包,学生可以完成很多实际的任务,例如统计、绘制图表、发送邮件、处理电子表格、分析网页。这些库都是基于计算机科学理论背景的,学生通过这些库可以学习如何应用这些理论来解决实际的问题,每个工具箱搭配了很多章末复习和编程练习。
数据绘图。
一些新的可运行示例演示了如何通过图形绘制来创建数据的可视化表示,这些示例使用pyplot库创建简单的图形表示,演示如何运用相应章节学到的语言知识。
交互学习。
与本书集成的还有更多交互式的学习内容,使学生沉浸于可以促进深度学习的一些活动中。学生不仅可以观看动画和代码跟踪过程,而且可以自己动手来生成这些素材。这些活动可以提供即时反馈来反映学生哪里做得正确和哪里需要继续学习。可以访问http:wiley.
comgopfe2interactivities来获取更多资源,以便在你自己的课程中使用。
“CodeCheck”是一个非常有新意的在线服务,学生可以用它来解决一些编程问题,你可以指定已经提前设计好的练习,也可以很容易地添加自己的题目,欢迎访问http:codecheck.it了解更多内容并大胆尝试。
本书概览
图1展示了各章节之间的依赖关系和内容组织方法,本书核心内容有:
第1章 概述
第2章 数字与字符串编程
第3章 选择结构
第4章 循环
第5章 函数
第6章 列表
第7章 文件与异常
第8章 集合与字典
然后是与面向对象编程有关的两章:
第9章 对象和类
第10章 继承
最后两章是深入学习算法设计与分析的课程:
第11章 递归
第12章 排序和搜索
图1 章节依赖关系
图形图像处理。
编写可以绘制图形或者处理图像的程序可以给学生提供复杂主题的有效、直观的认识。第2章介绍了EzGraphics开源库以及如何使用它创建基本的图形。学生会发现这个库比Python的标准库Tkinter更容易使用,并且支持简单的图像处理。图形案例和练习贯穿了整本书,但都属于可选讲的内容。
练习。
每章最后的练习包含了大量复习题和编程问题,有些是来自于图形、科学和商业领域的可选问题。为了吸引学生,这些练习演示了在应用领域中编程的价值。
Web资源。
本书还补充了完整的系列在线资源,可登录www.wiley.c