---
title: 笨办法学python（中文第三版）
date: 2015-11-14 10:20:35
tags:
  - python
---

![](http://img4.douban.com/lpic/s27836847.jpg)

<!--more-->

## 简介 ##

本书是一本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

## 在线阅读 ##

+ [在线阅读](https://www.gitbook.com/book/wizardforcel/lpthw/details)

## 下载 ##

+ [PDF格式](https://www.gitbook.com/download/pdf/book/wizardforcel/lpthw)
+ [EPUB格式](https://www.gitbook.com/download/epub/book/wizardforcel/lpthw)
+ [MOBI格式](https://www.gitbook.com/download/mobi/book/wizardforcel/lpthw)
