“笨办法”学Python(第3版)

“笨办法”学Python(第3版)

作者:Zed A.Shaw

出版社:人民邮电出版社

出版年:2014-11-1

评分:7.8

ISBN:9787115350541

所属分类:行业好书

书刊介绍

内容简介

本书是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。

本书结构非常简单,共包括52个习题,其中26个覆盖了输入/输出、变量和函数三个主题,另外26个覆盖了一些比较高级的话题,如条件判断、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编写代码,运行并检查结果,然后再做附加练习。

Zed Shaw完善了这个堪称世上最好的Python学习系统。只要跟着学习,你就会和迄今为止数十万Zed教过的初学者一样获得成功。

在这本书中,你将通过完成52个精心设计的习题来学会Python。阅读这些习题,把习题的代码精确地写出来(禁止复制和粘贴!),修正你的错误,观察程序的运行。在这个过程中,你将了解软件是如何工作的,好的程序看起来是什么样子,怎样阅读、编写、思考代码,以及如何用专业程序员的技巧来找出并修正错误。最重要的是,你将学到下面这些编写优秀的Python软件必需的初始技能。

这本书会让你的每一分钟投入都有回报。Python是世界上最强大、最受欢迎的编程语言之一,很快你就会成为一名Python程序员。

你还可以看Zed的视频!随书附赠的DVD中包含5个多小时激情挥洒的教学内容:一部完整的Python视频教程!

作品目录

习题0 准备工作 1
Mac OSX 1
OSX:应该看到的结果 2
Windows 2
Windows:应该看到的结果 3
Linux 4
Linux:应该看到的结果 5
给新手的告诫 5
习题1 第一个程序 7
应该看到的结果 8
附加练习 10
常见问题回答 11
习题2 注释和#号 12
应该看到的结果 12
附加练习 13
常见问题回答 13
习题3 数字和数学计算 14
应该看到的结果 15
附加练习 15
常见问题回答 16
习题4 变量和命名 17
应该看到的结果 18
附加练习 18
常见问题回答 18
习题5 更多的变量和打印 20
应该看到的结果 21
附加练习 21
常见问题回答 21
习题6 字符串和文本 23
应该看到的结果 24
附加练习 24
常见问题回答 24
习题7 更多打印 26
应该看到的结果 26
附加练习 27
常见问题回答 27
习题8 打印,打印 28
应该看到的结果 28
附加练习 28
常见问题回答 29
习题9 打印,打印,打印 30
应该看到的结果 30
附加练习 31
常见问题回答 31
习题10 那是什么 32
应该看到的结果 33
转义序列 33
附加练习 34
常见问题回答 34
习题11 提问 35
应该看到的结果 36
附加练习 36
常见问题回答 36
习题12 提示别人 37
应该看到的结果 37
附加练习 38
常见问题回答 38
习题13 参数、解包和变量 39
等一下!“特性”还有另外一个名字 39
应该看到的结果 40
附加练习 41
常见问题回答 41
习题14 提示和传递 42
应该看到的结果 42
附加练习 43
常见问题回答 43
习题15 读取文件 45
应该看到的结果 46
附加练习 46
常见问题回答 47
习题16 读写文件 48
应该看到的结果 49
附加练习 50
常见问题回答 50
习题17 更多文件操作 51
应该看到的结果 52
附加练习 52
常见问题回答 53
习题18 命名、变量、代码和函数 54
应该看到的结果 55
附加练习 56
常见问题回答 56
习题19 函数和变量 57
应该看到的结果 58
附加练习 58
常见问题回答 59
习题20 函数和文件 60
应该看到的结果 61
附加练习 61
常见问题回答 61
习题21 函数可以返回某些东西 63
应该看到的结果 64
附加练习 64
常见问题回答 65
习题22 到现在你学到了哪些东西 66
学到的东西 66
习题23 阅读一些代码 67
习题24 更多练习 68
应该看到的结果 69
附加练习 69
常见问题回答 70
习题25 更多更多的实践 71
应该看到的结果 72
附加练习 73
常见问题回答 74
习题26 恭喜你,现在可以考试了! 75
常见问题回答 75
习题27 记住逻辑关系 76
逻辑术语 76
真值表 77
常见问题回答 78
习题28 布尔表达式练习 79
应该看到的结果 80
附加练习 81
常见问题回答 81
习题29 if语句 82
应该看到的结果 83
附加练习 83
常见问题回答 83
习题30 else和if 84
应该看到的结果 85
附加练习 85
常见问题回答 85
习题31 作出决定 86
应该看到的结果 87
附加练习 87
常见问题回答 87
习题32 循环和列表 89
应该看到的结果 90
附加练习 91
常见问题回答 91
习题33 while循环 93
应该看到的结果 94
附加练习 94
常见问题回答 95
习题34 访问列表的元素 96
附加练习 97
习题35 分支和函数 98
应该看到的结果 100
附加练习 100
常见问题回答 100
习题36 设计和调试 102
if语句的规则 102
循环的规则 102
调试的小技巧 103
家庭作业 103
习题37 复习各种符号 104
关键字 104
数据类型 105
字符串转义序列 105
字符串格式化 106
操作符 106
阅读代码 107
附加练习 108
常见问题回答 108
习题38 列表的操作 109
应该看到的结果 111
附加练习 111
常见问题回答 112
习题39 字典,可爱的字典 113
应该看到的结果 116
附加练习 116
常见问题回答 117
习题40 模块、类和对象 118
模块和字典差不多 118
类和模块差不多 119
对象相当于迷你导入 120
获取某样东西里包含的东西 121
第一个关于类的例子 121
应该看到的结果 122
附加练习 122
常见问题回答 123
习题41 学习面向对象术语 124
单词练习 124
语汇练习 124
混合巩固练习 125
阅读测试 125
练习从语言到代码 127
阅读更多代码 128
常见问题回答 128
习题442 对象、类及从属关系 129
代码写成什么样子 130
关于class Name(object) 132
附加练习 132
常见问题回答 133
习题43 基本的面向对象分析和设计 134
简单游戏引擎的分析 135
把问题写下来或者画出来 135
摘录和研究关键概念 135
为各种概念创建类层次结构图和
对象关系图 136
编写和运行各个类 137
重复和优化 139
自顶向下与自底向上 139
《来自Percal 25号行星的哥顿人》的
代码 139
应该看到的结果 145
附加练习 146
常见问题回答 146
习题44 继承与合成 147
什么是继承 147
隐式继承 148
显式覆盖 149
在运行前或运行后替换 149
三种方式组合使用 151
为什么要用super() 152
super()和__init__搭配使用 152
合成 153
继承和合成的应用场合 154
附加练习 154
常见问题回答 155
习题45 你来制作一个游戏 156
评价你的游戏 156
函数的风格 157
类的风格 157
代码风格 158
好的注释 158
为你的游戏评分 158
习题46 项目骨架 160
Python软件包的安装 160
创建骨架项目目录 161
最终目录结构 162
测试你的配置 164
使用这个骨架 164
小测验 164
常见问题回答 165
习题47 自动化测试 166
编写测试用例 166
测试指南 168
应该看到的结果 169
附加练习 169
常见问题回答 169
习题48 更复杂的用户输入 170
我们的游戏语汇 170
断句 171
语汇元组 171
扫描输入 171
异常和数字 171
应该测试的东西 172
设计提示 174
附加练习 174
常见问题回答 174
习题49 创建句子 175
match和peek 175
句子的文法 176
关于异常 178
应该测试的东西 179
附加练习 179
常见问题回答 179
习题50 你的第一个网站 180
安装lpthw.web 180
写一个简单的“Hello World”项目 181
会发生什么 182
修正错误 183
创建基本的模板文件 183
附加练习 185
常见问题回答 186
习题51 从浏览器中获取输入 187
Web的工作原理 187
表单的工作原理 189
创建HTML表单 191
创建布局模板 193
为表单撰写自动测试代码 194
附加练习 196
常见问题回答 197
习题52 创建Web游戏 198
重构习题43中的游戏 198
会话和用户跟踪 203
创建引擎 204
期末考试 207
常见问题回答 208
接下来的路 209
怎样学习任何一种编程语言 210
老程序员的建议 211
附录 命令行快速入门 213
简介:废话少说,命令行来也 213
如何使用这个附录 213
你需要发挥记忆力 214
习题1 准备工作 214
任务 214
知识点 215
更多任务 216
习题2 路径、文件夹和目录(pwd) 217
任务 217
知识点 218
更多任务 219
习题3 如果你迷失了 219
任务 219
知识点 219
习题4 创建目录(mkdir) 219
任务 220
知识点 221
更多任务 221
习题5 更改目录(cd) 222
任务 222
知识点 225
更多任务 225
习题6 列出目录下的内容(ls) 226
任务 226
知识点 229
更多任务 230
习题7 删除路径(rmdir) 230
任务 230
知识点 232
更多任务 232
习题8 在多个目录中切换
(pushd,popd) 233
任务 233
知识点 235
更多任务 235
习题9 创建空文件(touch,
New-Item) 235
任务 236
知识点 236
更多任务 236
习题10 复制文件(cp) 237
任务 237
知识点 239
更多任务 240
习题11 移动文件(mv) 240
任务 240
知识点 242
更多任务 242
习题12 查看文件内容
(less,MORE) 242
任务 243
知识点 243
更多任务 243
习题13 流文件内容显示(cat) 244
任务 244
知识点 245
更多任务 245
习题14 删除文件(rm) 245
任务 245
知识点 247
更多任务 247
习题15 退出命令行(exit) 247
任务 247
知识点 248
更多任务 248
命令行将来的路 248
Unix Bash参考资料 248
PowerShell参考资料 249
· · · · · ·

作者简介

Zed A.Shaw是一位狂热的吉他手、程序员和编程书作家。他的这本书在全世界有数百万的读者。他写的软件大大小小的公司都在使用。他的文章经常被众多极客圈里的人阅读和引用。他是一名活跃而有趣的作家,他会让你大笑,也会让你思考。

精彩摘录

我从事编程已经太长时间,长到对我来说编程已经是非常乏味的事情了。我写这本书的时候,已经懂得大约20种编程语言,而且可以在大约一天或者一个星期内学会一门编程语言(取决于这门语言有多古怪)。现在对我来说编程这件事情已经很无聊,已经谈不上什么兴趣了。当然这不是说编程本身是一件无聊的事情,也不是说你以后也一定会这样觉得,这只是我个人在当前的感觉而已。在这么久的旅程下来我的体会是:编程语言这东西并不重要,重要的是你用这些语言做的事情。事实上我一直知道这一点,不过以前我会周期性地被各种编程语言分神而忘记了这一点。现在我是永远不会忘记这一点了,你也不应该忘记这一点。你学到和用到的编程语言并不重要。不要被围绕某一种语言的宗教把你扯进去,这只会让你忘掉了语言的真正目的,也就是作为你的工具来实现有趣的事情。编程作为一项智力活动,是唯一一种能让你创建交互式艺术的艺术形式。你可以创建项目让别人使用,而且你可以间接地和使用者沟通。没有其他的艺术形式能做到如此程度的交互性。电影领着观众走向一个方向,绘画是不会动的。而代码却是双向互动的。编程作为一项职业只是一般般有趣而已。编程可能是一份好工作,但如果你想赚更多的钱而且过得更快乐,你其实开一间快餐分店就可以了。你最好的选择是将你的编程技术作为你其他职业的秘密武器。技术公司里边会编程的人多到一毛钱一打,根本得不到什么尊敬。而在生物学、医药学、政府部门、社会学、物理学、数学等行业领域从事编程的人就能得到足够的尊敬,而且你可以使用这项技能在这些领域做出令人惊异的成就。当然,所有的这些建议都是没啥意义的。如果你跟着这本书学习写软件而且觉得很喜欢这件事情的话,那你完全可以将其当作一门职业去追求。你应该继续深入拓展这个近五十年来极少有人探索过的奇异而美妙的智力工作领域。若能从中得到乐趣当然就更好了。最后我要说的是...

——引自章节:老程序员的建议


RulesForIf-Statements1.Everyif-statementmusthaveanelse.2.Ifthiselseshouldneverberunbecauseitdoesn'tmakesense,thenyoumustuseadiefunctionintheelsethatprintsoutanerrormessageanddies,justlikewedidinthelastexercise.Thiswillfindmanyerrors.3.Nevernestif-statementsmorethan2deepandalwaystrytodothem1deep.Thismeansifyouputanifinanifthenyoushouldbelookingtomovethatsecondifintoanotherfunction.4.Treatif-statementslikeparagraphs,whereeachif,elif,elsegroupingislikeasetofsentences.Putblanklinesbeforeandafter.5.Yourbooleantestsshouldbesimple.Iftheyarecomplex,movetheircalculationstovariablesearlierinyourfunctionanduseagoodnameforthevariable.RulesForLoops1.Useawhile-loo...

——引自章节:Exercise36:DesigningandDeb

相关推荐

微信二维码