时光漫步

时光漫步

图书全部分类
套装书
婚恋与两性
字典词典/工具书
教学/实验用品
棋牌麻将
白酒
积木拼插
绘图计算用品
青少年素质培养

资源详情

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

Python编程从入门到实践第2版-电子书下载封面


作者: [美]埃里克·马瑟斯(Eric Matthes)
出版社: 人民邮电出版社
出品方: 图灵教育
副标题: 从入门到实践(第2版)
原作名: Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming
译者: 袁国忠
出版年: 2020-10
页数: 476
定价: 109.8
装帧: 平装
丛书: 图灵程序设计丛书·Python系列
ISBN: 9787115546081

下载次数:40

书籍详情介绍

Python编程从入门到实践第2版详情图

书籍资料

  • 内容简介
  • 作者介绍
  • 书籍目录

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

埃里克·马瑟斯(Eric Matthes)
高中科学和数学老师,现居住在阿拉斯加,在当地讲授Python入门课程。他从5岁开始就一直在编写程序。

第一部分基础知识
第1章起步  2
1.1搭建编程环境  2
1.1.1Python版本  2
1.1.2运行Python代码片段  2
1.1.3SublimeText简介  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

.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.6Python之禅  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.3if语句  69
5.3.1简单的if语句  69
5.3.2if-else语句  70
5.3.3if-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.2while循环简介  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.1Car类  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.5Python标准库  161
9.6类编码风格  162
9.7小结  163
第10章文件和异常  164
10.1从文件中读取数据  164
10.1.1读取整个文件  164
10.1.2文件路径  166
10.1.3逐行读取  167
10.1.4创建一个包含文件各行内容的列表  168
10.1.5使用文件的内容  168
10.1.6包含一百万位的大型文件  170
10.2写入文件  171
10.2.1写入空文件  171
10.2.2写入多行  172
10.2.3附加到文件  173
10.3异常  174
10.3.1处理ZeroDivisionError异常  174
10.3.2使用try-except代码块  174
10.3.3使用异常避免崩溃  175
10.3.4else代码块  176
10.3.5处理FileNotFoundError异常  177
10.3.6分析文本  178
10.3.7使用多个文件  179
10.3.8静默失败  180
10.3.9决定报告哪些错误  181
10.4存储数据  182
10.4.1使用json.dump()和json.load()  182
10.4.2保存和读取用户生成的数据  183
10.4.3重构  185
10.5小结  187
第11章测试代码  188
11.1测试函数  188
11.1.1单元测试和测试用例  189
11.1.2可通过的测试  189
11.1.3未通过的测试  191
11.1.4测试未通过时怎么办  192
11.1.5添加新测试  193
11.2测试类  194
11.2.1各种断言方法  194
11.2.2一个要测试的类  195
11.2.3测试AnonymousSurvey类  197
11.2.4方法setUp()  198
11.3小结  200
第二部分项目
项目1外星人入侵  202
第12章武装飞船  203
12.1规划项目  203
12.2安装Pygame  204
12.3开始游戏项目  204
12.3.1创建Pygame窗口及响应用户输入  204
12.3.2设置背景色  206
12.3.3创建设置类  207
12.4添加飞船图像  208
12.4.1创建Ship类  209
12.4.2在屏幕上绘制飞船  210
12.5重构:方法_check_events()和__update_screen()  211
12.5.1方法_check_events()  211
12.5.2方法_update_screen()  212
12.6驾驶飞船  213
12.6.1响应按键  213
12.6.2允许持续移动  214
12.6.3左右移动  215
12.6.4调整飞船的速度  216
12.6.5限制飞船的活动范围  218
12.6.6重构_check_events()  218
12.6.7按Q键退出  219
12.6.8在全屏模式下运行游戏  219
12.7简单回顾  220
12.7.1alien_invasion.py  220
12.7.2settings.py  220
12.7.3ship.py  220
12.8射击  221
12.8.1添加子弹设置  221
12.8.2创建Bullet类  221
12.8.3将子弹存储到编组中  223
12.8.4开火  223
12.8.5删除消失的子弹  225
12.8.6限制子弹数量  225
12.8.7创建方法_update_bullets()  227
第13章外星人来了  228
13.1项目回顾  228
13.2创建第一个外星人  229
13.2.1创建Alien类  229
13.2.2创建Alien实例  230
13.3创建一群外星人  232
13.3.1确定一行可容纳多少个外星人  232
13.3.2创建一行外星人  232
13.3.3重构_create_fleet()  234
13.3.4添加行  234
13.4让外星人群移动  237
13.4.1向右移动外星人群  237
13.4.2创建表示外星人移动方向的设置  238
13.4.3检查外星人是否撞到了屏幕边缘  238
13.4.4向下移动外星人群并改变移动方向  239
13.5射杀外星人  240
13.5.1检测子弹与外星人的碰撞  241
13.5.3生成新的外星人群  242
13.5.4提高子弹的速度  243
13.5.5重构_update_bullets()  243
13.6结束游戏  244
13.6.1检测外星人和飞船碰撞  244
13.6.2响应外星人和飞船碰撞  245
13.6.3有外星人到达屏幕底端  247
13.6.4游戏结束  248
13.7确定应运行游戏的哪些部分  248
13.8小结  249
第14章记分  250
14.1添加Play按钮  250
14.1.1创建Button类  250
14.1.2在屏幕上绘制按钮  252
14.1.3开始游戏  253
14.1.4重置游戏  254
14.1.5将Play按钮切换到非活动状态  254
14.1.6隐藏鼠标光标  255
14.2提高等级  256
14.2.1修改速度设置  256
14.2.2重置速度  258
14.3记分  258
14.3.1显示得分  259
14.3.2创建记分牌  260
14.3.3在外星人被消灭时更新得分  261
14.3.4重置得分  262
14.3.5将消灭的每个外星人都计入得分  262
14.3.6提高分数  263
14.3.7舍入得分  264
14.3.8最高得分  265
14.3.9显示等级  267
14.3.10显示余下的飞船数  269
14.4小结  272
项目2数据可视化  273
第15章生成数据  274
15.1安装Matplotlib  274
15.2绘制简单的折线图  275
15.2.1修改标签文字和线条粗细  277
15.2.3使用内置样式  278
15.2.4使用scatter()绘制散点图并设置样式  279
15.2.5使用scatter()绘制一系列点  280
15.2.6自动计算数据  281
15.2.7自定义颜色  282
15.2.8使用颜色映射  283
15.2.9自动保存图表  284
15.3随机漫步  284
15.3.1创建RandomWalk类  284
15.3.2选择方向  285
15.3.3绘制随机漫步图  286
15.3.4模拟多次随机漫步  287
15.3.5设置随机漫步图的样式  288
15.4使用Plotly模拟掷骰子  292
15.4.1安装Plotly  292
15.4.2创建Die类  293
15.4.3掷骰子  293
15.4.4分析结果  294
15.4.5绘制直方图  294
15.4.6同时掷两个骰子  296
15.4.7同时掷两个面数不同的骰子  298
15.5小结  300
第16章下载数据  301
16.1CSV文件格式  301
16.1.1分析CSV文件头  302
16.1.2打印文件头及其位置  302
16.1.3提取并读取数据  303
16.1.4绘制温度图表  304
16.1.5模块datetime  305
16.1.6在图表中添加日期  306
16.1.7涵盖更长的时间  307
16.1.8再绘制一个数据系列  308
16.1.9给图表区域着色  309
16.1.10错误检查  310
16.1.11自己动手下载数据  313
16.2制作全球地震散点图:JSON格式  315
16.2.2查看JSON数据  315
16.2.3创建地震列表  317
16.2.4提取震级  317
16.2.5提取位置数据  318
16.2.6绘制震级散点图  319
16.2.7另一种指定图表数据的方式  320
16.2.8定制标记的尺寸  321
16.2.9定制标记的颜色  322
16.2.10其他渐变  323
16.2.11添加鼠标指向时显示的文本  324
16.3小结  325
第17章使用API  326
17.1使用WebAPI  326
17.1.1Git和GitHub  326
17.1.2使用API调用请求数据  327
17.1.3安装Requests  327
17.1.4处理API响应  328
17.1.5处理响应字典  329
17.1.6概述最受欢迎的仓库  331
17.1.7监视API的速率限制  332
17.2使用Plotly可视化仓库  332
17.2.1改进Plotly图表  334
17.2.2添加自定义工具提示  336
17.2.3在图表中添加可单击的链接  337
17.2.4深入了解Plotly和GitHubAPI  338
17.3HackerNewsAPI  338
17.4小结  341
项目3Web应用程序  342
第18章从Django入手  343
18.1建立项目  343
18.1.1制定规范  343
18.1.2建立虚拟环境  344
18.1.3激活虚拟环境  344
18.1.4安装Django  345
18.1.5在Django中创建项目  345
18.1.6创建数据库  346
18.1.7查看项目  346
18.2创建应用程序  348
18.2.1定义模型  348
18.2.2激活模型  349
18.2.3Django管理网站  351
18.2.4定义模型Entry  353
18.2.5迁移模型Entry  354
18.2.6向管理网站注册Entry  354
18.2.7Djangoshell  355
18.3创建页面:学习笔记主页  357
18.3.1映射URL  358
18.3.2编写视图  359
18.3.3编写模板  360
18.4创建其他页面  361
18.4.1模板继承  361
18.4.2显示所有主题的页面  363
18.4.3显示特定主题的页面  366
18.5小结  369
第19章用户账户  370
19.1让用户输入数据  370
19.1.1添加新主题  370
19.1.2添加新条目  374
19.1.3编辑条目  378
19.2创建用户账户  381
19.2.1应用程序users  381
19.2.2将users添加到settings.py中  381
19.2.3包含users的URL  382
19.2.4登录页面  382
19.2.5注销  384
19.2.6注册页面  386
19.3让用户拥有自己的数据  388
19.3.1使用@login_required限制访问  388
19.3.2将数据关联到用户  390
19.3.3只允许用户访问自己的主题  393
19.3.4保护用户的主题  393
19.3.5保护页面edit_entry  394
19.3.6将新主题关联到当前用户  396
第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.2.1建立Heroku账户  408
20.2.2安装HerokuCLI  408
20.2.3安装必要的包  408
20.2.4创建文件requirements.txt  409
20.2.6为部署到Heroku而修改settings.py  410
20.2.7创建启动进程的Procfile  410
20.2.8使用Git跟踪项目文件  410
20.2.9推送到Heroku  412
20.2.10在Heroku上建立数据库  414
20.2.12确保项目的安全  416
20.2.13提交并推送修改  416
20.2.14在Heroku上设置环境变量  417
20.2.15创建自定义错误页面  418
20.2.16继续开发  420
20.2.17设置SECRET_KEY  421
20.2.18将项目从Heroku删除  421
20.3小结  422
附录A安装与故障排除  423
附录B文本编辑器与IDE  428
附录C寻求帮助  432
附录D使用Git进行版本控制  436
后记  445


0.587305s