书籍详情

笨办法学Python 3:基础篇+进阶篇

笨办法学Python 3:基础篇+进阶篇

作者:(美)泽德A.肖

出版社:人民邮电出版社

出版时间:2018-06-01

ISBN:9787115005281

定价:¥118.00

购买这本书可以去
内容简介
  《笨办法学Python 3》是一本Python入门书,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。本书是基于Python 3.6版本编写的。 本书结构非常简单,除“准备工作”之外,还包括52个习题,其中26个覆盖了输入/输出、变量和函数3个主题,另外26个覆盖了一些比较进阶的话题,如条件判断、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编写代码,运行并检查结果,然后再做附加练习。本书是《“笨办法”学Python 3》一书的进阶篇,《“笨办法”学Python 3》介绍了用Python 3编程的基础知识,而本书则通过52个精心设计的习题帮助读者超越基础,提升水平。这52个习题大部分都结合实际演示,并配有附加挑战,每个习题都可以帮读者掌握一项关键的实践技能,包括使用文本编辑器管理复杂的项目、利用功能强大的数据结构、应用算法处理数据结构、掌握必要的文本分析和处理技术、使用SQL有效且合逻辑地建模存储数据,以及学习强大的命令行工具等。本书旨在帮助读者从单纯地编写能运行的代码跨越到编写能解决实际问题的高质量Python代码,成为一名高阶的Python程序员。本书适合所有已经开始使用Python的技术人员,包括初级开发人员和已经升级到Python 3.6版本以上的经验丰富的Python程序员。
作者简介
  作者简介泽德 A. 肖(Zed A.Shaw)是《“笨办法”学Python》《“笨办法”学Ruby》《“笨办法”学C语言》等几本备受欢迎的图书的作者,他的书在全世界有数百万读者。他还是诸多开源项目的创建者,拥有近20年的编程和写作经验。他大部分空闲时间致力于绘画和艺术史的研究。 译者简介王巍巍是一名受软件和编程的吸引,中途转行上岗的软件从业人员。代码和翻译是他的两大爱好,此外他还喜欢在网上撰写和翻译一些不着边际的话题和文章。如果读者对书中的内容有疑问,或者发现了书中的错误,再或者只是想随便聊聊,请通过电子邮件与其联系。
目录

《笨办法学Python 3 基础篇》

习题0 准备工作 1

macOS 1

Windows 2

Linux 3

网上搜索 4

给新手的告诫 5

可选文本编辑器 5

习题1 第 一个程序 7

应该看到的结果 8

巩固练习 10

常见问题回答 11

习题2 注释和#号 12

应该看到的结果 12

巩固练习 12

常见问题回答 13

习题3 数字和数学计算 14

应该看到的结果 15

巩固练习 15

常见问题回答 16

习题4 变量和命名 17

应该看到的结果 18

巩固练习 18

常见问题回答 19

习题5 更多的变量和打印 20

应该看到的结果 21

巩固练习 21

常见问题回答 21

习题6 字符串和文本 22

应该看到的结果 23

巩固练习 23

破坏程序 23

常见问题回答 24

习题7 更多打印 25

应该看到的结果 25

巩固练习 26

破坏程序 26

常见问题回答 26

习题8 打印,打印 27

应该看到的结果 27

巩固练习 28

常见问题回答 28

习题9 打印,打印,打印 29

应该看到的结果 29

巩固练习 30

常见问题回答 30

习题10 那是什么 31

应该看到的结果 32

转义序列 32

巩固练习 33

常见问题回答 33

习题11 提问 34

应该看到的结果 34

巩固练习 35

常见问题回答 35

习题12 提示别人 36

应该看到的结果 36

巩固练习 36

常见问题回答 37

习题13 参数、解包和变量 38

等一下!“特性”还有另外一个名字 38

应该看到的结果 39

巩固练习 40

常见问题回答 40

习题14 提示和传递 41

应该看到的结果 41

巩固练习 42

常见问题回答 42

习题15 读取文件 44

应该看到的结果 45

巩固练习 45

常见问题回答 46

习题16 读写文件 47

应该看到的结果 48

巩固练习 49

常见问题回答 49

习题17 更多文件操作 50

应该看到的结果 51

巩固练习 51

常见问题回答 52

习题18 命名、变量、代码和函数 53

应该看到的结果 54

巩固练习 55

常见问题回答 55

习题19 函数和变量 56

应该看到的结果 57

巩固练习 57

常见问题回答 57

习题20 函数和文件 59

应该看到的结果 60

巩固练习 60

常见问题回答 60

习题21 函数可以返回某些东西 62

应该看到的结果 63

巩固练习 63

常见问题回答 64

习题22 到现在为止你学到了什么 65

学到的东西 65

习题23 字符串、字节串和字符编码 66

初始研究 66

开关、约定和编码 68

解剖输出 69

解剖代码 70

深度接触编码 72

破坏程序 72

习题24 更多的练习 74

应该看到的结果 75

巩固练习 75

常见问题回答 76

习题25 更多更多的练习 77

应该看到的结果 78

巩固练习 79

常见问题回答 80

习题26 恭喜你,现在可以考试了! 81

常见问题回答 81

习题27 记住逻辑关系 82

逻辑术语 82

真值表 83

常见问题回答 84

习题28 布尔表达式练习 85

应该看到的结果 86

巩固练习 87

常见问题回答 87

习题29 if语句 88

应该看到的结果 89

巩固练习 89

常见问题回答 89

习题30 else和if 90

应该看到的结果 91

巩固练习 91

常见问题回答 91

习题31 作出决定 92

应该看到的结果 93

巩固练习 93

常见问题回答 94

习题32 循环和列表 95

应该看到的结果 96

巩固练习 97

常见问题回答 97

习题33 while循环 98

应该看到的结果 99

巩固练习 99

常见问题回答 100

习题34 访问列表的元素 101

巩固练习 102

习题35 分支和函数 103

应该看到的结果 105

巩固练习 105

常见问题回答 105

习题36 设计和调试 107

if语句的规则 107

循环的规则 107

调试的小技巧 108

家庭作业 108

习题37 复习各种符号 109

关键字 109

数据类型 110

字符串转义序列 111

老式字符串格式 111

运算符 112

阅读代码 113

巩固练习 114

常见问题回答 114

习题38 列表的操作 115

应该看到的结果 117

列表可以做什么 117

什么时候使用列表 118

巩固练习 118

常见问题回答 119

习题39 字典,可爱的字典 120

字典的例子 121

应该看到的结果 123

字典可以做什么 124

巩固练习 124

常见问题回答 124

习题40 模块、类和对象 125

模块和字典差不多 125

类和模块差不多 126

对象和import差不多 127

获取某样东西里包含的东西 128

第 一个类的例子 128

应该看到的结果 129

巩固练习 129

常见问题回答 130

习题41 学习面向对象术语 131

专有词汇练习 131

措辞练习 131

混合巩固练习 132

阅读测试 132

练习从语言到代码 134

阅读更多代码 135

常见问题回答 135

习题42 对象、类及从属关系 136

代码写成什么样子 137

关于class Name(object) 139

巩固练习 139

常见问题回答 139

习题43 基本的面向对象分析和设计 141

简单游戏引擎的分析 142

自顶向下与自底向上 146

《来自Percal 25号行星的哥顿人》

的代码 146

应该看到的结果 153

巩固练习 153

常见问题回答 154

习题44 继承与组合 155

什么是继承 155

要用super()的原因 160

组合 160

继承和组合的应用场合 162

巩固练习 162

常见问题回答 162

习题45 你来制作一款游戏 164

评价你的游戏 164

函数的风格 165

类的风格 165

代码风格 166

好的注释 166

为你的游戏评分 166

习题46 项目骨架 168

macOS/Linux配置 168

Windows 10配置 170

创建骨架项目目录 171

测试你的配置 173

使用这个骨架 174

小测验 174

常见问题回答 174

习题47 自动化测试 176

编写测试用例 176

测试指南 178

应该看到的结果 178

巩固练习 179

常见问题回答 179

习题48 用户输入进阶 180

我们的游戏词汇 180

测试优先挑战 182

应该测试的东西 183

巩固练习 185

常见问题回答 185

习题49 创建句子 186

match和peek 186

句子的语法 187

关于异常 187

语法分析器代码 187

尝试语法分析器 190

应该测试的东西 191

巩固练习 191

常见问题回答 191

习题50 你的第 一个网站 192

安装flask 192

写一个简单的“Hello World”项目 192

发生了什么 194

修正错误 194

创建基本的模板文件 195

巩固练习 197

常见问题回答 197

习题51 从浏览器中获取输入 198

Web的工作原理 198

表单的工作原理 200

创建HTML表单 201

创建布局模板 203

为表单撰写自动测试代码 205

巩固练习 206

破坏程序 206

习题52 创建Web游戏 207

重构习题43中的游戏 207

创建引擎 212

期末考试 215

常见问题回答 215

接下来的路 217

怎样学习任何一种编程语言 218

老程序员的建议 219

附录 命令行快速入门 221

简介:废话少说,命令行来也 221

练习1 准备工作 222

练习2 路径、文件夹和目录(pwd) 225

练习3 如果你迷失了 227

练习4 创建目录(mkdir) 228

练习5 更改目录(cd) 230

练习6 列出目录中的内容(ls) 234

练习7 删除目录(rmdir) 238

练习8 在多个目录中切换(pushd和popd) 241

练习9 创建空文件(touch/New-Item) 243

练习10 复制文件(cp) 244

练习11 移动文件(mv) 248

练习12 查看文件内容(less/more) 250

练习13 流文件内容显示(cat) 251

练习14 删除文件(rm) 252

练习15 退出终端(exit) 254

命令行接下来的路 255


《笨办法学Python 3 进阶篇》


第一部分 准备知识 1

如果不喜欢作者的个人流程怎么办 2

如果发现自己太糟糕怎么办 2

习题0 准备工作 3

程序员用的编辑器 3

Python 3.6 3

工作终端 4

pip和virtualenv的配置 4

实验笔记 4

GitHub账号 5

git 5

可选:录屏软件 5

进一步研究 5

习题1 论流程 7

习题挑战 8

巩固练习 9

进一步研究 9

习题2 论创新 11

习题挑战 11

巩固练习 12

习题3 论质量 13

习题挑战 14

巩固学习 14


第二部分 快速实现 15

如何练习创新 16

为新手准备的流程 17

新手的写代码流程 17

习题4 处理命令行参数 19

习题挑战 19

答案 20

巩固练习 20

习题5 cat 21

习题挑战 21

答案 22

巩固练习 22

进一步研究 23

习题6 find 25

习题挑战 26

巩固练习 26

进一步研究 27

习题7 grep 29

习题挑战 29

巩固练习 30

进一步研究 30

习题8 cut 31

习题挑战 32

巩固练习 32

进一步研究 32

习题9 sed 33

习题挑战 33

巩固练习 34

进一步研究 34

习题10 sort 35

习题挑战 35

巩固练习 36

进一步研究 36

习题11 uniq 37

习题挑战 37

巩固学习 38

进一步研究 38

习题12 复习 39

习题挑战 39

巩固练习 40

进一步研究 40


第三部分 数据结构 43

通过数据结构学习质量 44

如何学习数据结构 44

习题13 单链表 47

描述 47

控制器 48

测试 50

审计概述 52

习题挑战 53

审计 53

巩固练习 54

习题14 双链表 55

介绍不变条件 56

习题挑战 57

巩固练习 58

习题15 栈和队列 59

习题挑战 60

破坏代码 61

进一步研究 61

习题16 冒泡排序、快速排序和归并排序 63

习题挑战 63

冒泡排序 65

归并排序 66

归并排序的作弊模式 67

快速排序 69

巩固练习 69

习题17 字典 71

习题挑战 71

创建“代码的原版副本” 71

复制代码 72

注解代码 75

总结数据结构 76

记住总结 76

凭借记忆实现 77

重复 78

巩固练习 78

破坏代码 78

习题18 测量性能 79

工具 79

timeit 79

cProfile和profile 80

分析性能 82

习题挑战 83

巩固练习 83

破坏代码 83

进一步研究 84

习题19 提高性能 85

习题挑战 86

进一步研究 87

习题20 二叉查找树 89

二叉查找树必备知识 89

删除 90

习题挑战 91

巩固练习 91

习题21 二分搜索 93

习题挑战 93

巩固练习 94

进一步研究 94

习题22 后缀数组 95

习题挑战 96

巩固练习 96

进一步研究 97

习题23 三叉查找树 99

习题挑战 99

巩固练习 101

习题24 快速URL搜索 103

习题挑战 103

巩固练习 104

进一步研究 104


第四部分 中阶项目 105

跟踪代码缺陷 105

习题25 xargs 107

习题挑战 107

巩固练习 107

习题26 hexdump 109

习题挑战 110

巩固练习 111

进一步研究 111

习题27 tr 113

习题挑战 113

45分钟工作时间段的利弊 114

巩固练习 114

习题28 sh 115

习题挑战 115

巩固练习 116

进一步研究 116

习题29 diff和patch 117

习题挑战 117

巩固练习 118

进一步研究 118


第五部分 解析文本 119

介绍代码覆盖率 119

习题30 有限状态机 121

习题挑战 122

巩固练习 124

进一步研究 124

习题31 正则表达式 125

习题挑战 126

巩固练习 127

进一步研究 127

习题32 扫描器 129

运行Python扫描器 130

习题挑战 132

巩固练习 132

进一步研究 133

习题33 解析器 135

递归下降解析 136

BNF文法 137

解析器快速演示 139

习题挑战 141

巩固练习 141

进一步研究 142

习题34 分析器 143

访问者模式 143

短小的Puny Python分析器 144

解析器和分析器的对比 147

习题挑战 147

巩固练习 148

进一步研究 148

习题35 解释器 149

解释器和编译器的对比 149

Python两者皆是 150

如何写解释器 150

习题挑战 151

巩固练习 151

进一步研究 151

习题36 简单计算器 153

习题挑战 153

巩固练习 154

进一步研究 154

习题37 小小BASIC 155

习题挑战 155

巩固练习 156


第六部分 SQL和对象关系映射 157

理解SQL就是理解表 157

你将学到什么 158

习题38 SQL简介 159

什么是SQL 159

准备工作 160

学习SQL术语 161

SQL文法 162

进一步研究 162

习题39 SQL的创建操作 163

创建表 163

创建多表数据库 164

插入数据 165

插入参考数据 165

习题挑战 165

进一步研究 166

习题40 SQL的读取操作 167

跨表选择行 167

习题挑战 168

进一步研究 169

习题41 SQL的更新操作 171

更新复杂数据 171

替换数据 172

习题挑战 173

进一步研究 173

习题42 SQL的删除操作 175

使用别的表进行删除 175

习题挑战 176

进一步研究 177

习题43 SQL管理 179

删除和修改表 179

迁移和数据演化 180

习题挑战 181

进一步研究 182

习题44 使用Python的数据库API 183

学习API 183

习题挑战 184

进一步研究 184

习题45 创建ORM 185

习题挑战 185

进一步研究 186


第七部分 终极项目 187

你的流程是什么 187

习题46 博客 189

习题挑战 189

巩固练习 190

习题47 bc 191

习题挑战 191

巩固练习 192

习题48 ed 193

习题挑战 193

巩固练习 194

习题49 sed 195

习题挑战 196

巩固练习 196

习题50 vi 197

习题挑战 197

巩固练习 198

习题51 lessweb 199

习题挑战 199

破坏代码 199

巩固练习 200

习题52 moreweb 201

习题挑战 201

破坏代码 202

进一步研究 202


猜您喜欢

读书导航