图书目录

目录

习题0 蓄势待发 1

通用指南 1

快速开始 1

完整指南 2

测试安装 2

学习命令行 3

下一步 3

习题1 写好第一个程序 4

运行结果 5

温故知新 6

常见问题 6

蓝色加号 7

习题2 注释与#字符 8

运行结果 8

温故知新 8

常见问题 9

习题3 数字与数学 10

运行结果 11

温故知新 11

常见问题 11

习题4 变量与命名 13

运行结果 14

温故知新 14

常见问题 14

习题5 更多的变量与打印 16

运行结果 17

温故知新 17

常见问题 17

习题6 字符串与文本 18

运行结果 19

温故知新 19

不破不立 19

常见问题 20

习题7 组合字符串 21

运行结果 21

温故知新 22

不破不立 22

常见问题 22

习题8 手动格式化字符串 23

运行结果 23

温故知新 24

常见问题 24

习题9 多行字符串 25

运行结果 25

温故知新 26

常见问题 26

习题10 字符串中的转义字符 27

运行结果 28

转义序列 28

温故知新 29

常见问题 29

习题11 向人提问 30

运行结果 30

温故知新 31

常见问题 31

习题12 更简单的提示方式 32

运行结果 32

温故知新 32

常见问题 33

习题13 参数、解包、变量 34

如果你迷路了 35

代码描述 35

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

运行结果 36

温故知新 37

常见问题 37

习题14 提示和传递 39

运行结果 40

温故知新 40

常见问题 40

习题15 读取文件 42

运行结果 43

温故知新 43

常见问题 44

习题16 读写文件 45

运行结果 46

温故知新 47

常见问题 47

习题17 更多文件操作 48

运行结果 49

温故知新 49

常见问题 49

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

练习代码 52

运行结果 54

温故知新 54

常见问题 55

习题19 函数和变量 56

运行结果 57

温故知新 58

常见问题 58

习题20 函数和文件 59

运行结果 60

温故知新 60

常见问题 61

习题21 函数可以返回某些内容 62

运行结果 63

温故知新 63

常见问题 64

习题22 字符串、字节和字符编码 65

初始研究 65

开关、约定和编码 66

解析输出 68

解析代码 69

深度学习编码 72

不破不立 72

习题23 列表入门 73

访问列表中的元素 73

列表练习 74

代码操作 74

挑战 75

水果挑战 75

汽车挑战 75

语言挑战 75

最终挑战 76

习题24 字典入门 77

键/值结构 77

列表与数据对象的结合 78

代码 79

运行结果 80

挑战 80

水果挑战 80

汽车挑战 80

语言挑战 81

最终挑战 81

习题25 字典和函数 82

步骤1:函数名称是变量 82

步骤2:带变量的字典 82

步骤3:带函数的字典 83

步骤4:解读最后一行 83

温故知新 84

习题26 字典和模块 85

步骤1:import的回顾 85

步骤2:找到__dict__ 85

步骤3:更改__dict__ 86

温故知新:如何查找“Dunders” 87

习题27 代码游戏的五条简单规则 88

规则1:一切都是指令序列 88

如何获取这些指令 89

这些字节码存储在哪里 90

规则2:跳转使序列非线性 90

为什么是向后的 91

跳转可以是向前的吗 91

规则3:测试控制跳转 91

你说的“弹出”是什么意思 93

像COMPARE_OP这样的测试

不也用在循环中吗 93

规则4:存储控制测试 93

规则5:输入/输出控制存储 94

总结复习 95

字节码列表 95

dis() 是副本任务 96

习题28 理解逻辑关系 97

逻辑术语 97

真值表 98

常见问题 100

习题29 布尔表达式练习 101

运行结果 102

温故知新 102

常见问题 103

习题30 if是什么 104

运行结果 104

使用 dis() 105

温故知新 105

常见问题 105

习题31 else和if 106

运行结果 107

使用 dis() 107

温故知新 108

常见问题 108

习题32 做出决策 109

运行结果 110

使用 dis() 110

温故知新 111

常见问题 111

习题33 循环和列表 112

运行结果 113

使用 dis() 114

温故知新 115

常见问题 115

习题34 while循环 116

运行结果 117

使用 dis() 117

温故知新 118

常见问题 118

习题35 分支和函数 119

运行结果 121

温故知新 121

常见问题 121

习题36 设计和调试 123

从想法到可工作的代码 123

这个流程够专业吗 125

关于“X/Y”非问题 125

if语句的规则 126

循环的规则 127

调试的小技巧 127

家庭作业 127

习题37 符号复习 129

关键字 129

数据类型 130

字符串转义序列 131

传统字符串格式 131

运算符 132

阅读代码 133

温故知新 134

常见问题 134

习题38 超越Windows的Jupyter 135

为什么要学习 PowerShell 136

PowerShell是什么 136

PowerShell对比Cmder 138

启动Jupyter 138

获取帮助 139

如何使用start命令 139

从图形界面到PowerShell 139

你的工作目录在哪里 140

这里有什么? 140

文件、目录和路径 141

切换目录 142

相对路径 142

创建和销毁 143

标志和参数 143

复制和移动 144

环境变量 144

运行代码 144

常用快捷键 145

有用的开发命令 145

远不止于此 145

习题39 超越macOS/Linux的

     Jupyter 146

macOS的问题 147

为什么学习Bash或ZSH 147

Bash是什么? 147

启动Jupyter 149

获取帮助 149

如何使用start命令 149

从图形界面到Bash 150

你的工作目录在哪里 150

这里有什么? 151

文件、目录和路径 151

切换目录 152

相对路径 152

创建和销毁 153

隐藏文件 153

标志和参数 154

复制和移动 154

环境变量 155

运行代码 155

常用快捷键 155

有用的开发命令 156

远不止于此 157

习题40 高级开发者工具 158

管理Conda环境 158

添加conda-forge 158

使用pip 159

使用 .condarc 文件 160

通用编辑技巧 160

更进一步 161

习题41 项目骨架 162

激活环境 162

使用cookiecutter 162

构建项目 163

安装项目 163

测试安装 164

移除test-project 164

常见错误 165

温故知新 165

习题42 列表操作 166

运行结果 167

列表作用 168

何时使用列表 169

温故知新 169

常见问题 170

习题43 字典操作 171

字典示例 172

运行结果 174

字典的作用 175

温故知新 175

常见问题 176

习题44 从字典到对象 177

步骤一:将字典传递给函数 177

运行结果 178

步骤二:将talk添加到字典中 178

步骤三:闭包 179

运行结果 180

步骤四:角色构造函数 181

温故知新 182

习题45 基础面向对象编程 183

创建Person对象 183

使用 dir() 与 __dict__ 184

关于点号操作符(.) 185

术语 186

关于self 187

温故知新 188

常见问题 188

习题46 继承与高级面向对象编程 189

如何写成代码 190

关于class Name(object) 192

温故知新 192

常见问题 193

习题47 基础的面向对象分析和设计 194

简单游戏引擎的分析 195

把问题写下来或者画出来 195

提取和研究关键概念 195

给各种概念创建类层次结构和对象图 196

编写类和运行类的测试代码 197

重复和优化 199

自顶向下与自底向上 199

“来自Percal 25号行星的哥顿人”

的代码 200

运行结果 207

温故知新 207

常见问题 208

习题48 继承与组合 209

继承是什么? 209

隐式继承 210

显式覆盖 211

在运行前或运行后替换 211

将3种方式组合在一起使用 212

使用 super() 的原因 214

super() 和 __init__ 搭配使用 214

组合 215

继承和组合的应用场景 216

温故知新 217

常见问题 217

习题49 开发你的专属游戏 218

评估你的游戏 218

函数风格指南 219

类风格指南 219

代码风格指南 220

好的注释 220

评估你的代码 221

习题50 自动化测试 222

测试的目的是什么 222

如何高效测试 222

安装pytest 223

简单的pytest案例 224

运行pytest 225

异常和try/except 225

获取覆盖率报告 226

温故知新 227

常见问题 227

习题51 数据清洗 229

为什么要进行数据清洗 230

问题描述 230

安装 231

如何编写代码 231

流程示例 232

解决方案策略 234

强大的ETL工具 235

温故知新 236

习题52 网络爬虫 237

引入with关键字 237

问题描述 238

安装 238

线索 239

强大的抓取工具 239

温故知新 240

习题53 从API获取数据 241

介绍JSON 241

问题描述 242

安装 243

线索 243

强大的API工具 244

温故知新 244

习题54 使用pandas进行数据转换 245

介绍Pandoc 245

问题描述 245

安装 246

线索 246

温故知新 247

习题55 如何阅读文档(以pandas

                为例) 248

为什么编程文档都很糟糕 248

如何主动阅读程序员文档 249

第1步:找到文档 249

pandas举例 249

第2步:确定策略 250

pandas举例 250

第3步:代码第一,文档第二 251

pandas举例 251

第4步:破坏或修改代码 252

第5步:记笔记 252

第6步:随心所欲 252

pandas举例 252

第7步:总结与表达 252

pandas举例 253

第8步:什么是整体感 253

pandas举例 254

阅读我的pandas课程 254

习题56 只使用pandas 255

创建项目 255

问题描述 255

安装 255

温故知新 256

习题57 快速入门SQL 257

SQL是什么 257

安装 258

修复和加载 259

备份数据库 259

创建、读取、更新、删除 260

SELECT 260

日期和时间 261

INSERT 262

UPDATE 263

DELETE和事务 263

数学、聚合和GROUP BY 265

Python访问 266

习题58 SQL规范化 267

什么是规范化 267

第一范式(1NF) 268

实现第一范式(1NF) 269

在SQL中创建表 270

第二范式(2NF) 270

实现2NF 271

使用Python 273

查询2NF数据 273

使用JOIN进行查询 274

温故知新 275

习题59 SQL查询关系 277

一对多(1∶M) 277

Python中的一对多 277

一对多的问题 278

多对多(M∶M) 278

多对多的问题 279

一对一(1∶1) 279

属性关系 280

查询多对多表 280

最后的温故知新 281

习题60 来自一位资深程序员的

     建议 282