Python编程:从入门到实践
查字典图书网
当前位置: 查字典 > 图书网 > 编程> Python编程:从入门到实践

Python编程:从入门到实践

Python编程:从入门到实践

8.9

作者: [美] 埃里克·马瑟斯
出版社: 人民邮电出版社
原作名: Python Crash Course
副标题: 从入门到实践
译者: 袁国忠
出版年: 2016-7-1
页数: 459
定价: CNY 89.00
装帧: 平装
ISBN: 9787115428028

我要收藏

内容简介:

本书是一本针对所有层次的Python 读者而作的Python 入门书。全书分两部分:第一部分介绍用Python 编程所必须了解的基本概念,包括matplotlib、NumPy 和Pygal 等强大的Python 库和工具介绍,以及列表、字典、if 语句、类、文件与异常、代码测试等内容;第二部分将理论付诸实践,讲解如何开发三个项目,包括简单的Python 2D 游戏开发如何利用数据生成交互式的信息图,以及创建和定制简单的Web 应用,并帮读者解决常见编程问题和困惑。

作者简介:

作者简介:

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和Python 32

1.1.2 运行Python代码片段3

1.1.3 Hello World程序3

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

1.2.1 在Linux系统中搭建Python编程环境3

1.2.2 在OS X系统中搭建Python编程环境6

1.2.3 在Windows系统中搭建Python编程环境8

1.3 解决安装问题12

1.4 从终端运行Python程序13

1.4.1 在Linux和OS X系统中从终端运行Python程序13

1.4.2 在Windows系统中从终端运行Python程序13

1.5 小结14

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

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

2.2 变量16

2.2.1 变量的命名和使用16

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

2.3 字符串18

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

2.3.2 合并(拼接)字符串19

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

2.3.4 删除空白21

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

2.3.6 Python 2中的print语句23

2.4 数字24

2.4.1 整数24

2.4.2 浮点数25

2.4.3 使用函数str()避免类型错误25

2.4.4 Python 2中的整数26

2.5 注释27

2.5.1 如何编写注释27

2.5.2 该编写什么样的注释28

2.6 Python之禅28

2.7 小结30

第3章 列表简介31

3.1 列表是什么31

3.1.1 访问列表元素32

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

3.1.3 使用列表中的各个值33

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

3.2.1 修改列表元素34

3.2.2 在列表中添加元素34

3.2.3 从列表中删除元素35

3.3 组织列表39

3.3.1 使用方法sort()对列表进行永久性排序39

3.3.2 使用函数sorted()对列表进行临时排序40

3.3.3 倒着打印列表41

3.3.4 确定列表的长度41

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

3.5 小结43

第4章 操作列表44

4.1 遍历整个列表44

4.1.1 深入地研究循环45

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

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

4.2 避免缩进错误47

4.2.1 忘记缩进48

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

4.2.3 不必要的缩进49

4.2.4 循环后不必要的缩进49

4.2.5 遗漏了冒号50

4.3 创建数值列表51

4.3.1 使用函数range()51

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

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

4.3.4 列表解析53

4.4 使用列表的一部分54

4.4.1 切片54

4.4.2 遍历切片56

4.4.3 复制列表56

4.5 元组59

4.5.1 定义元组59

4.5.2 遍历元组中的所有值59

4.5.3 修改元组变量60

4.6 设置代码格式61

4.6.1 格式设置指南61

4.6.2 缩进61

4.6.3 行长61

4.6.4 空行62

4.6.5 其他格式设置指南62

4.7 小结63

第5章 if语句64

5.1 一个简单示例64

5.2 条件测试65

5.2.1 检查是否相等65

5.2.2 检查是否相等时不考虑大小写65

5.2.3 检查是否不相等66

5.2.4 比较数字67

5.2.5 检查多个条件67

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

5.2.7 检查特定值是否不包含在列表中69

5.2.8 布尔表达式69

5.3 if语句70

5.3.1 简单的if语句70

5.3.2 if-else语句71

5.3.3 if-elif-else结构72

5.3.4 使用多个elif代码块73

5.3.5 省略else代码块74

5.3.6 测试多个条件74

5.4 使用if语句处理列表76

5.4.1 检查特殊元素77

5.4.2 确定列表不是空的78

5.4.3 使用多个列表78

5.5 设置if语句的格式80

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.3 遍历字典87

6.3.1 遍历所有的键—值对87

6.3.2 遍历字典中的所有键89

6.3.3 按顺序遍历字典中的所有键91

6.3.4 遍历字典中的所有值91

6.4 嵌套93

6.4.1 字典列表93

6.4.2 在字典中存储列表95

6.4.3 在字典中存储字典97

6.5 小结99

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

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

7.1.1 编写清晰的程序101

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

7.1.3 求模运算符103

7.1.4 在Python 2.7中获取输入104

7.2 while循环简介104

7.2.1 使用while循环104

7.2.2 让用户选择何时退出105

7.2.3 使用标志106

7.2.4 使用break退出循环107

7.2.5 在循环中使用continue108

7.2.6 避免无限循环109

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

7.3.1 在列表之间移动元素110

7.3.2 删除包含特定值的所有列表元素111

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

7.4 小结113

第8章 函数114

8.1 定义函数114

8.1.1 向函数传递信息115

8.1.2 实参和形参115

8.2 传递实参116

8.2.1 位置实参116

8.2.2 关键字实参118

8.2.3 默认值118

8.2.4 等效的函数调用119

8.2.5 避免实参错误120

8.3 返回值121

8.3.1 返回简单值121

8.3.2 让实参变成可选的122

8.3.3 返回字典123

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

8.4 传递列表126

8.4.1 在函数中修改列表126

8.4.2 禁止函数修改列表129

8.5 传递任意数量的实参130

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

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

8.6 将函数存储在模块中133

8.6.1 导入整个模块133

8.6.2 导入特定的函数134

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

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

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

8.7 函数编写指南136

8.8 小结137

第9章 类138

9.1 创建和使用类138

9.1.1 创建Dog类139

9.1.2 根据类创建实例140

9.2 使用类和实例142

9.2.1 Car类143

9.2.2 给属性指定默认值143

9.2.3 修改属性的值144

9.3 继承147

9.3.1 子类的方法__init__()147

9.3.2 Python 2.7中的继承149

9.3.3 给子类定义属性和方法149

9.3.4 重写父类的方法150

9.3.5 将实例用作属性150

9.3.6 模拟实物152

9.4 导入类153

9.4.1 导入单个类153

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

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

9.4.4 导入整个模块157

9.4.5 导入模块中的所有类157

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

9.4.7 自定义工作流程158

9.5 Python标准库159

9.6 类编码风格161

9.7 小结161

第10章 文件和异常162

10.1 从文件中读取数据162

10.1.1 读取整个文件162

10.1.2 文件路径164

10.1.3 逐行读取165

10.1.4 创建一个包含文件各行内容的列表166

10.1.5 使用文件的内容166

10.1.6 包含一百万位的大型文件168

10.1.7 圆周率值中包含你的生日吗168

10.2 写入文件169

10.2.1 写入空文件170

10.2.2 写入多行170

10.2.3 附加到文件171

10.3 异常172

10.3.1 处理ZeroDivisionError异常172

10.3.2 使用try-except 代码块173

10.3.3 使用异常避免崩溃173

10.3.4 else 代码块174

10.3.5 处理FileNotFoundError异常175

10.3.6 分析文本176

10.3.7 使用多个文件177

10.3.8 失败时一声不吭178

10.3.9 决定报告哪些错误179

10.4 存储数据180

10.4.1 使用json.dump()和json.load()180

10.4.2 保存和读取用户生成的数据181

10.4.3 重构183

10.5 小结186

第11章 测试代码187

11.1 测试函数187

11.1.1 单元测试和测试用例188

11.1.2 可通过的测试188

11.1.3 不能通过的测试190

11.1.4 测试未通过时怎么办191

11.1.5 添加新测试191

11.2 测试类193

11.2.1 各种断言方法193

11.2.2 一个要测试的类194

11.2.3 测试AnonymousSurvey类195

11.2.4 方法setUp()197

11.3 小结199

第二部分 项 目

项目1 外星人入侵202

第12章 武装飞船203

12.1 规划项目203

12.2 安装Pygame204

12.2.1 使用pip安装Python包204

12.2.2 在Linux系统中安装Pygame206

12.2.3 在OS X系统中安装Pygame207

12.2.4 在Windows系统中安装Pygame207

12.3 开始游戏项目207

12.3.1 创建Pygame窗口以及响应用户输入208

12.3.2 设置背景色209

12.3.3 创建设置类210

12.4 添加飞船图像211

12.4.1 创建Ship类212

12.4.2 在屏幕上绘制飞船213

12.5 重构:模块game_functions214

12.5.1 函数check_events()214

12.5.2 函数update_screen()215

12.6 驾驶飞船216

12.6.1 响应按键216

12.6.2 允许不断移动217

12.6.3 左右移动219

12.6.4 调整飞船的速度220

12.6.5 限制飞船的活动范围221

12.6.6 重构check_events()222

12.7 简单回顾223

12.7.1 alien_invasion.py223

12.7.2 settings.py223

12.7.3 game_functions.py223

12.7.4 ship.py223

12.8 射击224

12.8.1 添加子弹设置224

12.8.2 创建Bullet类224

12.8.3 将子弹存储到编组中226

12.8.4 开火227

12.8.5 删除已消失的子弹228

12.8.6 限制子弹数量229

12.8.7 创建函数update_bullets()229

12.8.8 创建函数fire_bullet()230

12.9 小结231

第13章 外星人232

13.1 回顾项目232

13.2 创建第一个外星人233

13.2.1 创建Alien类233

13.2.2 创建Alien实例234

13.2.3 让外星人出现在屏幕上235

13.3 创建一群外星人236

13.3.1 确定一行可容纳多少个外星人236

13.3.2 创建多行外星人236

13.3.3 创建外星人群237

13.3.4 重构create_fleet()239

13.3.5 添加行240

13.4 让外星人群移动242

13.4.1 向右移动外星人243

13.4.2 创建表示外星人移动方向的设置244

13.4.3 检查外星人是否撞到了屏幕边缘244

13.4.4 向下移动外星人群并改变移动方向245

13.5 射杀外星人246

13.5.1 检测子弹与外星人的碰撞246

13.5.2 为测试创建大子弹247

13.5.3 生成新的外星人群248

13.5.4 提高子弹的速度249

13.5.5 重构update_bullets()249

13.6 结束游戏250

13.6.1 检测外星人和飞船碰撞250

13.6.2 响应外星人和飞船碰撞251

13.6.3 有外星人到达屏幕底端254

13.6.4 游戏结束255

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

13.8 小结256

第14章 记分257

14.1 添加Play 按钮257

14.1.1 创建Button类258

14.1.2 在屏幕上绘制按钮259

14.1.3 开始游戏261

14.1.4 重置游戏261

14.1.5 将Play 按钮切换到非活动状态263

14.1.6 隐藏光标263

14.2 提高等级264

14.2.1 修改速度设置264

14.2.2 重置速度266

14.3 记分267

14.3.1 显示得分267

14.3.2 创建记分牌268

14.3.3 在外星人被消灭时更新得分270

14.3.4 将消灭的每个外星人的点数都计入得分271

14.3.5 提高点数271

14.3.6 将得分圆整272

14.3.7 最高得分274

14.3.8 显示等级276

14.3.9 显示余下的飞船数279

14.4 小结283

项目2 数据可视化284

第15章 生成数据285

15.1 安装matplotlib285

15.1.1 在Linux系统中安装matplotlib286

15.1.2 在OS X系统中安装matplotlib286

15.1.3 在Windows系统中安装matplotlib286

15.1.4 测试matplotlib287

15.1.5 matplotlib画廊287

15.2 绘制简单的折线图287

15.2.1 修改标签文字和线条粗细288

15.2.2 校正图形289

15.2.3 使用scatter()绘制散点图并设置其样式290

15.2.4 使用scatter()绘制一系列点291

15.2.5 自动计算数据292

15.2.6 删除数据点的轮廓293

15.2.7 自定义颜色293

15.2.8 使用颜色映射294

15.2.9 自动保存图表295

15.3 随机漫步295

15.3.1 创建RandomWalk()类296

15.3.2 选择方向296

15.3.3 绘制随机漫步图297

15.3.4 模拟多次随机漫步298

15.3.5 设置随机漫步图的样式299

15.3.6 给点着色299

15.3.7 重新绘制起点和终点300

15.3.8 隐藏坐标轴301

15.3.9 增加点数301

15.3.10 调整尺寸以适合屏幕302

15.4 使用Pygal模拟掷骰子303

15.4.1 安装Pygal304

15.4.2 Pygal画廊304

15.4.3 创建Die类304

15.4.4 掷骰子305

15.4.5 分析结果305

15.4.6 绘制直方图306

15.4.7 同时掷两个骰子307

15.4.8 同时掷两个面数不同的骰子309

15.5 小结311

第16章 下载数据312

16.1 CSV文件格式312

16.1.1 分析CSV文件头313

16.1.2 打印文件头及其位置314

16.1.3 提取并读取数据314

16.1.4 绘制气温图表315

16.1.5 模块datetime316

16.1.6 在图表中添加日期317

16.1.7 涵盖更长的时间318

16.1.8 再绘制一个数据系列319

16.1.9 给图表区域着色320

16.1.10 错误检查321

16.2 制作世界人口地图:JSON格式324

16.2.1 下载世界人口数据324

16.2.2 提取相关的数据324

16.2.3 将字符串转换为数字值326

16.2.4 获取两个字母的国别码327

16.2.5 制作世界地图329

16.2.6 在世界地图上呈现数字数据330

16.2.7 绘制完整的世界人口地图331

16.2.8 根据人口数量将国家分组333

16.2.9 使用Pygal设置世界地图的样式334

16.2.10 加亮颜色主题335

16.3 小结337

第17章 使用API338

17.1 使用Web API338

17.1.1 Git和GitHub338

17.1.2 使用API调用请求数据339

17.1.3 安装requests339

17.1.4 处理API响应340

17.1.5 处理响应字典340

17.1.6 概述最受欢迎的仓库342

17.1.7 监视API的速率限制343

17.2 使用Pygal可视化仓库344

17.2.1 改进Pygal图表346

17.2.2 添加自定义工具提示347

17.2.3 根据数据绘图349

17.2.4 在图表中添加可单击的链接350

17.3 Hacker News API350

17.4 小结353

项目3 Web 应用程序354

第18章 Django入门355

18.1 建立项目355

18.1.1 制定规范355

18.1.2 建立虚拟环境356

18.1.3 安装virtualenv356

18.1.4 激活虚拟环境357

18.1.5 安装Django357

18.1.6 在Django中创建项目357

18.1.7 创建数据库358

18.1.8 查看项目359

18.2 创建应用程序360

18.2.1 定义模型360

18.2.2 激活模型362

18.2.3 Django管理网站363

18.2.4 定义模型Entry365

18.2.5 迁移模型Entry366

18.2.6 向管理网站注册Entry366

18.2.7 Django shell367

18.3 创建网页:学习笔记主页369

18.3.1 映射URL369

18.3.2 编写视图371

18.3.3 编写模板372

18.4 创建其他网页373

18.4.1 模板继承373

18.4.2 显示所有主题的页面375

18.4.3 显示特定主题的页面378

18.5 小结381

第19章 用户账户382

19.1 让用户能够输入数据382

19.1.1 添加新主题382

19.1.2 添加新条目386

19.1.3 编辑条目390

19.2 创建用户账户392

19.2.1 应用程序users393

19.2.2 登录页面394

19.2.3 注销396

19.2.4 注册页面397

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

19.3.1 使用@login_required限制访问400

19.3.2 将数据关联到用户402

19.3.3 只允许用户访问自己的主题405

19.3.4 保护用户的主题405

19.3.5 保护页面edit_entry406

19.3.6 将新主题关联到当前用户406

19.4 小结408

第20章 设置应用程序的样式并对其进行部署409

20.1 设置项目“学习笔记”的样式409

20.1.1 应用程序django-bootstrap3410

20.1.2 使用Bootstrap来设置项目“学习笔记”的样式411

20.1.3 修改base.html411

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

20.1.5 设置登录页面的样式415

20.1.6 设置new_topic页面的样式416

20.1.7 设置topics页面的样式417

20.1.8 设置topic页面中条目的样式417

20.2 部署“学习笔记”419

20.2.1 建立Heroku账户420

20.2.2 安装Heroku Toolbelt420

20.2.3 安装必要的包420

20.2.4 创建包含包列表的文件requirements.txt421

20.2.5 指定Python版本422

20.2.6 为部署到Herohu而修改settings.py422

20.2.7 创建启动进程的Procfile423

20.2.8 为部署到Herohu而修改wsgi.py423

20.2.9 创建用于存储静态文件的目录424

20.2.10 在本地使用gunicorn服务器424

20.2.11 使用Git跟踪项目文件425

20.2.12 推送到Heroku426

20.2.13 在Heroku上建立数据库427

20.2.14 改进Heroku部署428

20.2.15 确保项目的安全429

20.2.16 提交并推送修改430

20.2.17 创建自定义错误页面431

20.2.18 继续开发434

20.2.19 设置SECRET_KEY434

20.2.20 将项目从Heroku删除434

20.3 小结435

附录A 安装Python436

附录B 文本编辑器441

附录C 寻求帮助447

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

后记460

文章试读:Python是一种跨平台的编程语言,这意味着它能够运行在所有主要的操作系统中。在所有安装了Python的现代计算机上,都能够运行你编写的任何Python程序。然而,在不同的操作系统中,安装Python的方法存在细微的差别。 在这一节中,你将学习如何在自己的系统中安装Python和运行Hello World程序。你首先要检查自己的系统是否安装了Python,如果没有,就安装它;接下来,你需要安...

(查看全部试读)

展开全文
随机来一本书

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

热门标签:
我想说两句
我要写长评
 想读     在读     读过   
评价:
标签(多个标签以“,”分开):