Python编程

Python编程:从入门到实践(第2版)

第2版上线,沿袭第1版讲解清晰透彻、循序渐进的特点,并全面升级。

  • 丛书图灵程序设计丛书·Python系列
  • 作者[美]埃里克·马瑟斯(EricMatthes)
  • 出版社人民邮电出版社
  • 出版时间2020年

编辑推荐

第2版沿袭第1版讲解清晰透彻、循序渐进的特点,并全面升级。

第一部分“基础知识”新增Sublime Text、f字符串、大数表示法和常量表示法等主题,并且更准确地描述了Python语言的细节。

第二部分“项目”采用更简明的结构、更清晰的语法以及更流行的库和工具,如Plotly和新版本的Django。

“我想说,Python是否值得学, 已经不再是值得怀疑的问题了。但是,如何能高效学会Python,永远是个值得思考的重要问题。这个问题的答案,是绕不开本书的。”

--大妈/ZoomQuiet,CPyUG联合创始人、蟒营创始人

“书如其名,本书简明清晰地讲解了入门Python所需学习的基本知识,同时在讲解过程中穿插实战演练,使读者对Python有更加深刻的理解,是一本入门Python的难得好书,推荐给大家学习。”

--崔庆才,微软(中国)工程师、《Python 3网络爬虫开发实战》作者

内容简介

本书是针对所有层次Python读者而作的Python入门书。全书分两部分:第一部分介绍用Python编程所必须了解的基本概念,包括强大的Python库和工具,以及列表、字典、if语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的2D游戏、利用数据生成交互式的信息图以及创建和定制简单的Web应用,并帮助读者解决常见编程问题和困惑。第2版进行了全面修订,简化了Python安装流程,新增了f字符串、get()方法等内容,并且在项目中使用了Plotly库以及新版本的Django和Bootstrap,等等。

作者简介

埃里克.马瑟斯(Eric Matthes)

高中科学和数学老师,现居住在阿拉斯加,在当地讲授Python入门课程。他从5岁开始就一直在编写程序。

袁国忠

自由译者;2000年起专事翻译,主译图书,偶译新闻稿、软文;出版译著40余部,其中包括《C Prime Plus中文版》《CCNA学习指南》《CCNP ROUTE学习指南》《面向模式的软件架构:模式系统》《Android应用UI设计模式》《风投的选择:谁是下一个十亿美元级公司》等,总计700余万字;专事翻译前,从事过三年化工产品分析和开发,做过两年杂志和图书编辑。

章节目录

第一部分基础知识

第1章 起步 2

1.1 搭建编程环境 2

1.1.1 Python版本 2

1.1.2 运行Python代码片段 2

1.1.3 SublimeText简介 3

1.2 在不同操作系统中搭建Python编程环境 3

1.2.1 在Windows系统中搭建Python编程环境 4

1.2.2 在macOS系统中搭建Python编程环境 5

1.2.3 在Linux系统中搭建Python编程环境 7

1.3 运行HelloWorld程序 8

1.3.1 配置SublimeText以使用正确的Python版本 8

1.3.2 运行程序hello_world.py 8

1.4 解决安装问题 9

1.5 从终端运行Python程序 9

1.5.1 在Windows系统中从终端运行Python程序 10

1.5.2 在Linux和macOS系统中从终端运行Python程序 10

1.6 小结 11

第2章 变量和简单数据类型 12

2.1 运行hello_world.py时发生的情况 12

2.2 变量 13

2.2.1 变量的命名和使用 13

2.2.2 使用变量时避免命名错误 14

2.2.3 变量是标签 15

2.3 字符串 16

2.3.1 使用方法修改字符串的大小写 17

2.3.3 使用制表符或换行符来添加空白 18

2.3.4 删除空白 19

2.3.5 使用字符串时避免语法错误 20

2.4 数 21

2.4.1 整数 22

2.4.2 浮点数 22

2.4.3 整数和浮点数 23

2.4.4 数中的下划线 23

2.4.5 同时给多个变量赋值 24

2.4.6 常量 24

2.5 注释 25

2.5.1 如何编写注释 25

2.5.2 该编写什么样的注释 25

2.6 Python之禅 26

2.7 小结 27

第3章 列表简介 28

3.1 列表是什么 28

3.1.1 访问列表元素 29

3.1.2 索引从0而不是1开始 29

3.1.3 使用列表中的各个值 30

3.2 修改、添加和删除元素 31

3.2.1 修改列表元素 31

3.2.2 在列表中添加元素 31

3.2.3 从列表中删除元素 32

3.3 组织列表 36

3.3.1 使用方法sort()对列表永久排序 37

3.3.2 使用函数sorted()对列表临时排序 37

3.3.3 倒着打印列表 38

3.3.4 确定列表的长度 38

3.4 使用列表时避免索引错误 39

3.5 小结 41

第4章 操作列表 42

4.1 遍历整个列表 42

4.1.1 深入研究循环 43

4.1.2 在for循环中执行更多操作 44

4.1.3 在for循环结束后执行一些操作 45

4.2 避免缩进错误 45

4.2.1 忘记缩进 46

4.2.2 忘记缩进额外的代码行 46

4.2.3 不必要的缩进 47

4.2.4 循环后不必要的缩进 47

4.2.5 遗漏了冒号 48

4.3 创建数值列表 49

4.3.1 使用函数range() 49

4.3.2 使用range()创建数字列表 50

4.3.3 对数字列表执行简单的统计计算 51

4.3.4 列表解析 52

4.4 使用列表的一部分 53

4.4.1 切片 53

4.4.2 遍历切片 54

4.4.3 复制列表 55

4.5 元组 57

4.5.1 定义元组 57

4.5.2 遍历元组中的所有值 58

4.5.3 修改元组变量 59

4.6 设置代码格式 60

4.6.1 格式设置指南 60

4.6.2 缩进 60

4.6.3 行长 60

4.6.4 空行 61

4.6.5 其他格式设置指南 61

4.7 小结 62

第5章 if语句 63

5.1 一个简单示例 63

5.2 条件测试 64

5.2.1 检查是否相等 64

5.2.2 检查是否相等时忽略大小写 64

5.2.3 检查是否不相等 65

5.2.4 数值比较 66

5.2.5 检查多个条件 66

5.2.6 检查特定值是否包含在列表中 68

5.2.8 布尔表达式 68

5.3 if语句 69

5.3.1 简单的if语句 69

5.3.2 if-else语句 70

5.3.3 if-elif-else结构 71

5.3.4 使用多个elif代码块 72

5.3.5 省略else代码块 73

5.3.6 测试多个条件 73

5.4 使用if语句处理列表 76

5.4.1 检查特殊元素 76

5.4.2 确定列表不是空的 77

5.4.3 使用多个列表 77

5.5 设置if语句的格式 79

5.6 小结 80

第6章 字典 81

6.1 一个简单的字典 81

6.2 使用字典 82

6.2.1 访问字典中的值 82

6.2.2 添加键值对 83

6.2.3 先创建一个空字典 83

6.2.4 修改字典中的值 84

6.2.5 删除键值对 85

6.2.6 由类似对象组成的字典 86

6.2.7 使用get()来访问值 87

6.3 遍历字典 88

6.3.1 遍历所有键值对 88

6.3.2 遍历字典中的所有键 90

6.3.3 按特定顺序遍历字典中的所有键 92

6.3.4 遍历字典中的所有值 92

6.4 嵌套 94

6.4.1 字典列表 94

6.4.2 在字典中存储列表 97

6.4.3 在字典中存储字典 98

6.5 小结 100

第7章 用户输入和while循环 101

7.1 函数input()的工作原理 101

7.1.1 编写清晰的程序 102

7.1.2 使用int()来获取数值输入 102

7.1.3 求模运算符 104

7.2 while循环简介 105

7.2.1 使用while循环 105

7.2.2 让用户选择何时退出 105

7.2.3 使用标志 107

7.2.4 使用break退出循环 108

7.2.5 在循环中使用continue 109

7.2.6 避免无限循环 109

7.3 使用while循环处理列表和字典 111

7.3.1 在列表之间移动元素 111

7.3.2 删除为特定值的所有列表元素 112

7.3.3 使用用户输入来填充字典 112

7.4 小结 114

第8章 函数 115

8.1 定义函数 115

8.1.1 向函数传递信息 116

8.1.2 实参和形参 116

8.2 传递实参 117

8.2.1 位置实参 117

8.2.2 关键字实参 119

8.2.3 默认值 119

8.2.4 等效的函数调用 120

8.2.5 避免实参错误 121

8.3 返回值 122

8.3.1 返回简单值 122

8.3.2 让实参变成可选的 123

8.3.3 返回字典 124

8.3.4 结合使用函数和while循环 125

8.4 传递列表 127

8.4.1 在函数中修改列表 128

8.4.2 禁止函数修改列表 130

8.5 传递任意数量的实参 131

8.5.1 结合使用位置实参和任意数量实参 132

8.5.2 使用任意数量的关键字实参 134

8.6.1 导入整个模块 134

8.6.2 导入特定的函数 135

8.6.3 使用as给函数指定别名 136

8.6.4 使用as给模块指定别名 136

8.6.5 导入模块中的所有函数 137

8.7 函数编写指南 137

8.8 小结 138

第9章 类 140

9.1 创建和使用类 140

9.1.1 创建Dog类 141

9.1.2 根据类创建实例 142

9.2 使用类和实例 144

9.2.1 Car类 145

9.2.2 给属性指定默认值 145

9.2.3 修改属性的值 146

9.3 继承 149

9.3.1 子类的方法__init__() 149

9.3.2 给子类定义属性和方法 151

9.3.3 重写父类的方法 152

9.3.4 将实例用作属性 152

9.3.5 模拟实物 154

9.4 导入类 155

9.4.1 导入单个类 155

9.4.2 在一个模块中存储多个类 157

9.4.3 从一个模块中导入多个类 158

9.4.4 导入整个模块 158

9.4.5 导入模块中的所有类 159

9.4.6 在一个模块中导入另一个模块 159

9.4.7 使用别名 160

9.4.8 自定义工作流程 160

9.5 Python标准库 161

9.6 类编码风格 162

9.7 小结 163

第10章 文件和异常 164

10.1 从文件中读取数据 164

10.2 写入文件 171

10.3 异常 174

10.4 存储数据 182

10.5 小结 187

第11章 测试代码 188

11.1 测试函数 188

11.2 测试类 194

11.3 小结 200

第二部分 项目

项目1 外星人入侵 202

第12章 武装飞船 203

12.1 规划项目 203

12.2 安装Pygame 204

12.3 开始游戏项目 204

12.4 添加飞船图像 208

12.5 重构:方法_check_events()和__update_screen() 211

12.6 驾驶飞船 213

12.6.7 按Q键退出 219

12.6.8 在全屏模式下运行游戏 219

12.7 简单回顾 220

12.8 射击 221

第13章 外星人来了 228

13.1 项目回顾 228

13.2 创建第一个外星人 229

13.3 创建一群外星人 232

13.3.4 添加行 234

13.4 让外星人群移动 237

13.5 射杀外星人 240

13.6 结束游戏 244

13.7 确定应运行游戏的哪些部分 248

13.8 小结 249

第14章 记分 250

14.1 添加Play按钮 250

14.2 提高等级 256

14.3 记分 258

14.4 小结 272

项目2 数据可视化 273

第15章 生成数据 274

15.1 安装Matplotlib 274

15.2 绘制简单的折线图 275

15.3 随机漫步 284

15.4 使用Plotly模拟掷骰子 292

15.5 小结 300

第16章 下载数据 301

16.1 CSV文件格式 301

16.2 制作全球地震散点图:JSON格式 315

16.3 小结 325

第17章 使用API 326

17.1 使用WebAPI 326

17.2 使用Plotly可视化仓库 332

17.3 HackerNewsAPI 338

17.4 小结 341

项目3 Web应用程序 342

第18章 从Django入手 343

18.1 建立项目 343

18.2 创建应用程序 348

18.3 创建页面:学习笔记主页 357

18.4 创建其他页面 361

18.5 小结 369

第19章 用户账户 370

19.1 让用户输入数据 370

19.2 创建用户账户 381

19.3 让用户拥有自己的数据 388

第20章 设置应用程序的样式并部署 397

20.1.1 应用程序django-bootstrap4 398

20.1.3 修改base.html 399

20.1.4 使用jumbotron设置主页的样式 403

20.1.5 设置登录页面的样式 404

20.1.6 设置显示所有主题的页面的样式 405

20.1.7 设置显示单个主题的页面中的条目样式 406

20.2 部署“学习笔记” 407

20.3 小结 422

附录A 安装与故障排除 423

附录B 文本编辑器与IDE 428

附录C 寻求帮助 432

附录D 使用Git进行版本控制 436

后记 445

Python编程是2020年由人民邮电出版社出版,作者[美]埃里克·马瑟斯(EricMatthes)。

得书感谢您对《Python编程》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

图书推荐
数据结构与算法之美(全彩印刷)
王争(@小争哥)

适读人群:适应于所有的计算机专业的学生与从业者,包括科学计算、人工智能、云计算、金融应用、数据分析等研究人员和开发人员1.好评爆表的极客时间算法专栏网红达人,GitHub上算法...
让工作化繁为简
李杰臣

适读人群:本书不仅适合想要通过Python学习编程的初学者,对于从事文秘、行政、营销、财务等需要处理大量数据以及高效完成重复性工作的职业人士也是一本不可或缺的参考书。本书对于编...
看漫画学Python
关东升 赵大羽

适读人群:如果您想入门Python,则无论您是想学习编程的小学生,还是想参加计算机竞赛的中学生,抑或是计算机相关专业的大学生,甚至是正在从事软件开发的职场人,本书都适合您阅读和...
超简单:用Python让Excel飞起来
王秀文 郭明鑫 王宇韬

本书对于编程知识零基础的办公人士特别友好,其摒弃了晦涩的理论讲解,引入了实用的办公场景,为办公人士开辟了一条学习办公自动化的新路。本书精选典型办公案例以及通俗易懂的讲解,有助于...
重构
[美]马丁·福勒(MartinFowler)

重构20年的更新版本,生动阐述重构原理和具体做法。
流畅的Python
[巴西]LucianoRamalho

如果你想学习python,这是一本绕不开的好书。
你可能喜欢
Python编程
[美]埃里克·马瑟斯(EricMatthes)

一本针对所有层次的Python读者而作的Python入门书。
Python程序设计(第3版)
[美]JohnZelle

以Python语言为工具,采用相当传统的方法,强调解决问题、设计和编程是计算机科学的核心技能。
流畅的Python
[巴西]LucianoRamalho

如果你想学习python,这是一本绕不开的好书。
Python编程导论(第2版)
[美]JohnV.Guttag

基于MIT编程思维培训讲义写成,主要目标在于帮助读者掌握并熟练使用各种计算技术。
深入理解Python特性
[德]达恩·巴德尔

本书不是简单的代码片段合集,而是能让你深入理解Python的内在原理,并欣赏其优美之处。
Python语言及其应用
[美]BillLubanovic

本书适合所有编程初学者阅读。
计算机科学精粹
[巴西]沃德斯顿·费雷拉·菲尔多

以浅显易懂的语言和简明扼要的形式介绍计算机科学领域的重要知识点。
自制编程语言
[日]前桥和弥

本书适合有一定基础的程序员和编程语言爱好者阅读。
七周七语言:理解多种编程范型
[美]BruceA·Tate

介绍了7种不同的编程语言,并分别介绍了各自的特性、应用,以及编程入门知识和关键编程模型。
从Python开始学编程
Vamei

以Python为样本,详解编程的方方面面。