Python编程零基础入门
1星价
¥85.1
(7.1折)
2星价¥85.1
定价¥119.8
图文详情
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是一种天性自然的语言,非常易于学习和使用。
预估到手价 ×
预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。
确定