暂无商品咨询信息 [发表商品咨询]
本书旨在采用以基础为先的教学方法,帮助学生在更广泛的情境中学习问题解决思路和程序设计方法,从而创建高效、优雅的代码,适用于Python程序设计和数据结构入门课程。书中首先介绍选择、循环和函数等基本编程概念和技巧,然后才引入自定义类。本书还配有不同难度的问题和练习,涵盖有趣的应用领域,以激发灵感,激励学生学习。第3版新增了数据结构主题,内容、示例和练习均与主流趋势保持同步。
本书中文版分为基础篇和进阶篇,基础篇对应原书的第1~14章,进阶篇对应原书的第15~23章,便于教师按需选择教材。
本书特色
以问题驱动、基础为先的方法进行介绍,侧重于问题解决思路,而非语法。
从基础开始,循序渐进地讲解,先教授基本概念和技巧,再引入自定义类。
涵盖从基础到面向对象程序设计,从简单函数到STL,再到简单数据类型和经典结构的广泛主题。
编程练习按难度分组,为学生提供大量实践和应用技能的机会。
书中有丰富的来自各个领域的例子和问题,为学习概念提供了有趣的背景。
采用灵活的章节顺序,允许教师跳过或稍后处理图形内容。
本书首先介绍Python基础知识,在带领读者编写自定义类之前,先介绍关于选择结构、循环结构和函数的基本编程概念和技术。然后介绍如何使用Python解决问题。不同难度的练习和问题涵盖了多个有趣的应用领域。本书包含大量练习题,指导读者创建高效、优雅的代码,在实践中掌握编程技巧。第3版新增了关于数据结构的内容,并更新了大量示例和练习。
(美)梁勇,佐治亚南方大学计算机科学系荣休教授。之前曾是普渡大学计算机科学系副教授,并曾两次获得普渡大学卓越研究奖。他撰写了30多本著作,其中程序设计类教材在世界各地得到广泛使用。
第1章计算机、程序和Python简介1
1.1概述1
1.2什么是计算机2
1.3程序设计语言7
1.4操作系统10
1.5Python的发展历史12
1.6Python入门13
1.7程序设计风格和文档18
1.8程序设计错误19
1.9图形程序设计入门21
第2章程序设计初步33
2.1概述34
2.2编写一个简单的程序34
2.3从控制台读取输入36
2.4标识符39
2.5变量、赋值语句和表达式40
2.6同时赋值43
2.7命名常量43
2.8数值数据类型和运算符44
2.9案例研究:零钱兑换48
2.10表达式求值以及运算符优先级50
2.11复合赋值运算符51
2.12类型转换和数值舍入53
2.13案例研究:显示当前时间55
2.14软件开发过程57
2.15案例研究:计算距离61
第3章选择结构77
3.1概述78
3.2布尔类型、布尔值和布尔表达式78
3.3生成随机数80
3.4if语句82
3.5双分支if-else语句84
3.6嵌套的if语句和多分支if-elif-else语句87
3.7选择语句中的常见错误90
3.8案例研究:计算体重指数91
3.9案例研究:计算个人所得税93
3.10逻辑运算符96
3.11案例研究:判断闰年100
3.12案例研究:彩票抽奖101
3.13条件表达式103
3.14Python3.10版本中的match-case语句104
3.15运算符优先级和结合性106
3.16检测目标的位置108
第4章数学函数、字符串和对象129
4.1概述130
4.2常用的Python函数130
4.3字符串和字符137
4.4案例研究:使用字符串改进彩票抽奖程序149
4.5对象和方法简介150
4.6字符串方法152
4.7案例研究158
4.8格式化数值和字符串161
4.9绘制各种不同类型的形状168
4.10使用颜色和字体进行绘制171
第5章循环结构187
5.1概述187
5.2while循环188
5.3案例研究:猜数游戏192
5.4循环设计策略195
5.5使用用户确认和哨兵值控制循环196
5.6for循环199
5.7嵌套循环201
5.8最小化数值误差202
5.9案例研究204
5.10关键字break和continue209
5.11案例研究:测试回文212
5.12案例研究:显示素数214
5.13案例研究:随机游走216
第6章函数236
6.1概述237
6.2定义函数238
6.3调用函数239
6.4返回值的函数和不返回值的函数243
6.5位置参数和关键字参数247
6.6按引用值传递参数247
6.7模块化编码249
6.8变量的作用域252
6.9默认参数255
6.10返回多个值256
6.11案例研究:随机生成ASCII字符257
6.12案例研究:十六进制转换为十进制259
6.13案例研究:函数抽象和逐步求精262
6.14案例研究:可重用的图形函数268
第7章列表293
7.1概述294
7.2列表基础294
7.3案例研究:分析数值307
7.4案例研究:一副扑克牌308
7.5复制列表311
7.6将列表传递给函数312
7.7从函数中返回列表315
7.8案例研究:统计每个字母出现的次数316
7.9列表查找318
7.10列表排序323
第8章多维列表341
8.1概述341
8.2处理二维列表342
8.3将二维列表传递给函数345
8.4问题:对单项选择题进行评分346
8.5问题:寻找距离最近的点对347
8.6问题:数独游戏350
8.7多维列表354
第9章对象和类381
9.1概述382
9.2定义对象的类382
9.3UML类设计390
9.4使用Python库中的类:datetime类393
9.5不可变对象与可变对象394
9.6隐藏数据字段395
9.7类的抽象和封装398
9.8面向对象的程序设计思维402
9.9运算符重载和特殊方法404
9.10案例研究:Rational类407
第10章基于Tkinter的GUI编程基础425
10.1概述426
10.2Tkinter入门426
10.3处理事件429
10.4组件类430
10.5Canvas435
10.6几何图形管理器438
10.7案例研究:贷款计算器442
10.8案例研究:数独GUI443
10.9显示图像445
10.10案例研究:扑克牌GUI446
第11章基于Tkinter的GUI高级编程457
11.1概述457
11.2组合框458
11.3菜单459
11.4弹出菜单461
11.5鼠标事件、键盘事件和事件绑定463
11.6案例研究:查找距离最近的点对468
11.7动画469
11.8案例研究:弹跳的小球472
11.9滚动条475
11.10标准对话框476
第12章继承和多态性486
12.1概述486
12.2超类和子类487
12.3重写方法493
12.4object类494
12.5多态性和动态绑定495
12.6isinstance函数497
12.7案例研究:可重用的时钟499
12.8类关系503
12.9案例研究:设计Course类506
12.10案例研究:设计一个用于栈的类508
12.11案例研究:FigureCanvas类510
第13章文件和异常处理529
13.1概述530
13.2文本输入和输出530
13.3文件对话框541
13.4案例研究:统计一个文件中的字符数544
13.5从网上读取数据546
13.6异常处理547
13.7抛出异常551
13.8使用异常类处理异常553
13.9定义自定义异常类554
13.10案例研究:网络爬虫557
13.11使用pickle执行二进制输入和输出559
13.12案例研究:地址簿561
第14章元组、集合和字典570
14.1概述571
14.2元组571
14.3集合574
14.4比较集合和列表的性能580
14.5案例研究:统计关键字582
14.6字典583
14.7案例研究:单词出现的次数588
附录APython关键字596
附录BASCII字符集597
附录C数制系统599
附录D命令行参数604
附录E正则表达式607
附录F位运算操作614
附录G大O表示法、大Ω表示法和大Θ表示法615
附录H运算符的优先顺序表617
| 基本信息 | |
|---|---|
| 出版社 | 机械工业出版社 |
| ISBN | 9787111796046 |
| 条码 | 9787111796046 |
| 编者 | (美)梁勇 著 著 |
| 译者 | |
| 出版年月 | 2025-12-01 00:00:00.0 |
| 开本 | 16开 |
| 装帧 | 平装 |
| 页数 | 618 |
| 字数 | 957000 |
| 版次 | 1 |
| 印次 | 1 |
| 纸张 | |
暂无商品评论信息 [发表商品评论]
暂无商品咨询信息 [发表商品咨询]