Python和NLTK自然语言处理

Python和NLTK自然语言处理

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书提供NLTK及Python库应用,分三部分教授NLP与机器学习项目构建。

内容简介

本书是一本运用NLTK和其他Python库构建专业NLP和机器学习项目的学习指南。本书共分为三部分。第一部分是NLTK基本模块,重点是如何创建文本分割器和解析器。第二部分介绍一些简单的文本处理方法和语言处理的基本技术。第三部分将会带领读者去实现自己的NLP项目。

章节目录

版权信息

版权

版权声明

内容提要

译者序

前言

资源与支持

模块1 NLTK基础知识

第1章 自然语言处理简介

1.1 为什么要学习NLP

1.2 从Python的基本知识开始

1.2.1 列表

1.2.2 自助

1.2.3 正则表达式

1.2.4 词典

1.2.5 编写函数

1.3 NLTK

1.4 试一试

1.5 本章小结

第2章 文本的整理和清洗

2.1 文本整理

2.2 文本清洗

2.3 句子拆分器

2.4 标记解析

2.5 词干提取

2.6 词形还原

2.7 停用词删除

2.8 生僻字删除

2.9 拼写校正

2.10 试一试

2.11 本章小结

第3章 词性标注

3.1 什么是词性标注

3.1.1 斯坦福标注器

3.1.2 深入了解标注器

3.1.3 序列标注器

3.1.4 布里尔标注器

3.1.5 基于标注器的机器学习

3.2 命名实体识别

NER标注器

3.3 试一试

3.4 本章小结

第4章 对文本的结构进行语法分析

4.1 浅层语法分析与深层语法分析

4.2 语法分析的两种方法

4.3 为什么需要语法分析

4.4 不同类型的语法分析器

4.4.1 递归下降的语法分析器

4.4.2 移位归约语法分析器

4.4.3 图表语法分析器

4.4.4 正则表达式语法分析器

4.5 依存分析

4.6 组块化

4.7 信息抽取

4.7.1 命名实体识别

4.7.2 关系抽取

4.8 本章小结

第5章 NLP应用

5.1 构建第一个NLP应用

5.2 其他的NLP应用

5.2.1 机器翻译

5.2.2 统计机器翻译

5.2.3 信息检索

5.2.4 语音识别

5.2.5 文本分类

5.2.6 信息提取

5.2.7 问答系统

5.2.8 对话系统

5.2.9 词义消歧

5.2.10 主题建模

5.2.11 语言检测

5.2.12 光学字符识别

5.3 本章小结

第6章 文本分类

6.1 机器学习

6.2 文本分类

6.3 采样

6.3.1 朴素贝叶斯

6.3.2 决策树

6.3.3 随机梯度下降

6.3.4 逻辑回归

6.3.5 支持向量机

6.4 随机森林算法

6.5 文本聚类

K均值算法

6.6 文本的主题建模

安装gensim

6.7 参考资料

6.8 本章小结

第7章 网络爬取

7.1 网络爬虫

7.2 编写第一个爬虫程序

7.3 Scra py中的数据流

7.3.1 Scrapy命令行界面

7.3.2 项

7.4 站点地图蜘蛛

7.5 项管道

7.6 外部参考

7.7 本章小结

第8章 与其他Python库一同使用NLTK

8.1 NumPy

8.1.1 ndarray

8.1.2 基本操作

8.1.3 从数组中提取数据

8.1.4 复杂的矩阵运算

8.2 SciP y

8.2.1 线性代数

8.2.2 特征值和特征向量

8.2.3 稀疏矩阵

8.2.4 优化

8.3 Pandas

8.3.1 读取数据

8.3.2 时序数据

8.3.3 列转换

8.3.4 噪声数据

8.4 Matplotlib

8.4.1 subplot

8.4.2 添加轴

8.4.3 散点图

8.4.4 柱状图

8.4.5 3D图

8.5 外部参考

8.6 本章小结

第9章 使用Python进行社交媒体挖掘

9.1 数据收集

推特

9.2 数据提取

热门话题

9.3 地理可视化

9.3.1 影响者检测

9.3.2 Facebook

9.3.3 影响者的朋友

9.4 本章小结

第10章 大规模的文本挖掘

10.1 在Hadoop上使用Python的不同方法

10.1.1 Python的流

10.1.2 Hive/Pig UDF

10.1.3 流包装器

10.2 在Hadoop上运行NLTK

10.2.1 UDF

10.2.2 Python流

10.3 在Hadoop上运行scikit-learn

10.4 PySpark

10.5 本章小结

模块2 使用Python 3的NLTK 3进行文本处理

第1章 标记文本和WordNet的基础

1.1 引言

1.2 将文本标记成句子

1.2.1 准备工作

1.2.2 工作方式

1.2.3 工作原理

1.2.4 更多信息

1.2.5 请参阅

1.3 将句子标记成单词

1.3.1 工作方式

1.3.2 工作原理

1.3.3 更多信息

1.3.4 请参阅

1.4 使用正则表达式标记语句

1.4.1 准备工作

1.4.2 工作方式

1.4.3 工作原理

1.4.4 更多信息

1.4.5 请参阅

1.5 训练语句标记生成器

1.5.1 准备工作

1.5.2 工作方式

1.5.3 工作原理

1.5.4 更多信息

1.5.5 请参阅

1.6 在已标记的语句中过滤停用词

1.6.1 准备工作

1.6.2 工作方式

1.6.3 工作原理

1.6.4 更多信息

1.6.5 请参阅

1.7 查找WordNet中单词的Synset

1.7.1 准备工作

1.7.2 工作方式

1.7.3 工作原理

1.7.4 更多信息

1.7.5 请参阅

1.8 在WordNet中查找词元和同义词

1.8.1 工作方式

1.8.2 工作原理

1.8.3 更多信息

1.8.4 请参阅

1.9 计算WordNet和Synset的相似度

1.9.1 工作方式

1.9.2 工作原理

1.9.3 更多信息

1.9.4 请参阅

1.10 发现单词搭配

1.10.1 准备工作

1.10.2 工作方式

1.10.3 工作原理

1.10.4 更多信息

1.10.5 请参阅

第2章 替换和校正单词

2.1 引言

2.2 词干提取

2.2.1 工作方式

2.2.2 工作原理

2.2.3 更多信息

2.2.4 请参阅

2.3 使用WordNet进行词形还原

2.3.1 准备工作

2.3.2 工作方式

2.3.3 工作原理

2.3.4 更多信息

2.3.5 请参阅

2.4 基于匹配的正则表达式替换单词

2.4.1 准备工作

2.4.2 工作方式

2.4.3 工作原理

2.4.4 更多信息

2.4.5 请参阅

2.5 移除重复字符

2.5.1 准备工作

2.5.2 工作方式

2.5.3 工作原理

2.5.4 更多信息

2.5.5 请参阅

2.6 使用Enchant进行拼写校正

2.6.1 准备工作

2.6.2 工作方式

2.6.3 工作原理

2.6.4 更多信息

2.6.5 请参阅

2.7 替换同义词

2.7.1 准备工作

2.7.2 工作方式

2.7.3 工作原理

2.7.4 更多信息

2.7.5 请参阅

2.8 使用反义词替换否定形式

2.8.1 工作方式

2.8.2 工作原理

2.8.3 更多信息

2.8.4 请参阅

第3章 创建语料库

3.1 引言

3.2 建立自定义语料库

3.2.1 准备工作

3.2.2 工作方式

3.2.3 工作原理

3.2.4 更多信息

3.2.5 请参阅

3.3 创建词汇表语料库

3.3.1 准备工作

3.3.2 工作方式

3.3.3 工作原理

3.3.4 更多信息

3.3.5 请参阅

3.4 创建已标记词性单词的语料库

3.4.1 准备工作

3.4.2 工作方式

3.4.3 工作原理

3.4.4 更多信息

3.4.5 请参阅

3.5 创建已组块短语的语料库

3.5.1 准备工作

3.5.2 工作方式

3.5.3 工作原理

3.5.4 更多信息

3.5.5 请参阅

3.6 创建已分类文本的语料库

3.6.1 准备工作

3.6.2 工作方式

3.6.3 工作原理

3.6.4 更多信息

3.6.5 请参阅

3.7 创建已分类组块语料库读取器

3.7.1 准备工作

3.7.2 工作方式

3.7.3 工作原理

3.7.4 更多信息

3.7.5 请参阅

3.8 懒惰语料库加载

3.8.1 工作方式

3.8.2 工作原理

3.8.3 更多信息

3.9 创建自定义语料库视图

3.9.1 工作方式

3.9.2 工作原理

3.9.3 更多信息

3.9.4 请参阅

3.10 创建基于MongoDB的语料库读取器

3.10.1 准备工作

3.10.2 工作方式

3.10.3 工作原理

3.10.4 更多信息

3.10.5 请参阅

3.11 在加锁文件的情况下编辑语料库

3.11.1 准备工作

3.11.2 工作方式

3.11.3 工作原理

第4章 词性标注

4.1 引言

4.2 默认标注

4.2.1 准备工作

4.2.2 工作方式

4.2.3 工作原理

4.2.4 更多信息

4.2.5 请参阅

4.3 训练一元组词性标注器

4.3.1 工作方式

4.3.2 工作原理

4.3.3 更多信息

4.3.4 请参阅

4.4 回退标注的组合标注器

4.4.1 工作方式

4.4.2 工作原理

4.4.3 更多信息

4.4.4 请参阅

4.5 训练和组合N元标注器

4.5.1 准备工作

4.5.2 工作方式

4.5.3 工作原理

4.5.4 更多信息

4.5.5 请参阅

4.6 创建似然单词标签的模型

4.6.1 工作方式

4.6.2 工作原理

4.6.3 更多信息

4.6.4 请参阅

4.7 使用正则表达式标注

4.7.1 准备工作

4.7.2 工作方式

4.7.3 工作原理

4.7.4 更多信息

4.7.5 请参阅

4.8 词缀标签

4.8.1 工作方式

4.8.2 工作原理

4.8.3 更多信息

4.8.4 请参阅

4.9 训练布里尔标注器

4.9.1 工作方式

4.9.2 工作原理

4.9.3 更多信息

4.9.4 请参阅

4.10 训练TnT标注器

4.10.1 工作方式

4.10.2 工作原理

4.10.3 更多信息

4.10.4 请参阅

4.11 使用WordNet进行标注

4.11.1 准备工作

4.11.2 工作方式

4.11.3 工作原理

4.11.4 请参阅

4.12 标注专有名词

4.12.1 工作方式

4.12.2 工作原理

4.12.3 请参阅

4.13 基于分类器的标注

4.13.1 工作方式

4.13.2 工作原理

4.13.3 更多信息

4.13.4 请参阅

4.14 使用NLTK训练器训练标注器

4.14.1 工作方式

4.14.2 工作原理

4.14.3 更多信息

4.14.4 请参阅

第5章 提取组块

5.1 引言

5.2 使用正则表达式组块和隔断

5.2.1 准备工作

5.2.2 工作方式

5.2.3 工作原理

5.2.4 更多信息

5.2.5 请参阅

5.3 使用正则表达式合并和拆分组块

5.3.1 工作方式

5.3.2 工作原理

5.3.3 更多信息

5.3.4 请参阅

5.4 使用正则表达式扩展和删除组块

5.4.1 工作方式

5.4.2 工作原理

5.4.3 更多信息

5.4.4 请参阅

5.5 使用正则表达式进行部分解析

5.5.1 工作方式

5.5.2 工作原理

5.5.3 更多信息

5.5.4 请参阅

5.6 训练基于标注器的组块器

5.6.1 工作方式

5.6.2 工作原理

5.6.3 更多信息

5.6.4 请参阅

5.7 基于分类的分块

5.7.1 工作方式

5.7.2 工作原理

5.7.3 更多信息

5.7.4 请参阅

5.8 提取命名实体

5.8.1 工作方式

5.8.2 工作原理

5.8.3 更多信息

5.8.4 请参阅

5.9 提取专有名词组块

5.9.1 工作方式

5.9.2 工作原理

5.9.3 更多信息

5.10 提取部位组块

5.10.1 工作方式

5.10.2 工作原理

5.10.3 更多信息

5.10.4 请参阅

5.11 训练命名实体组块器

5.11.1 工作方式

5.11.2 工作原理

5.11.3 更多信息

5.11.4 请参阅

5.12 使用NLTK训练器训练组块器

5.12.1 工作方式

5.12.2 工作原理

5.12.3 更多信息

5.12.4 请参阅

第6章 转换组块与树

6.1 引言

6.2 过滤句子中无意义的单词

6.2.1 准备工作

6.2.2 工作方式

6.2.3 工作原理

6.2.4 更多信息

6.2.5 请参阅

6.3 纠正动词形式

6.3.1 准备工作

6.3.2 工作方式

6.3.3 工作原理

6.3.4 请参阅

6.4 交换动词短语

6.4.1 工作方式

6.4.2 工作原理

6.4.3 更多信息

6.4.4 请参阅

6.5 交换名词基数

6.5.1 工作方式

6.5.2 工作原理

6.5.3 请参阅

6.6 交换不定式短语

6.6.1 工作方式

6.6.2 工作原理

6.6.3 更多信息

6.6.4 请参阅

6.7 单数化复数名词

6.7.1 工作方式

6.7.2 工作原理

6.7.3 请参阅

6.8 链接组块变换

6.8.1 工作方式

6.8.2 工作原理

6.8.3 更多信息

6.8.4 请参阅

6.9 将组块树转换为文本

6.9.1 工作方式

6.9.2 工作原理

6.9.3 更多信息

6.9.4 请参阅

6.10 平展深度树

6.10.1 准备工作

6.10.2 工作方式

6.10.3 工作原理

6.10.4 更多信息

6.10.5 请参阅

6.11 创建浅树

6.11.1 工作方式

6.11.2 工作原理

6.11.3 请参阅

6.12 转换树标签

6.12.1 准备工作

6.12.2 工作方式

6.12.3 工作原理

6.12.4 请参阅

第7章 文本分类

7.1 引言

7.2 词袋特征提取

7.2.1 工作方式

7.2.2 工作原理

7.2.3 更多信息

7.2.4 请参阅

7.3 训练朴素贝叶斯分类器

7.3.1 准备工作

7.3.2 工作方式

7.3.3 工作原理

7.3.4 更多信息

7.3.5 请参阅

7.4 训练决策树分类器

7.4.1 工作方式

7.4.2 工作原理

7.4.3 更多信息

7.4.4 请参阅

7.5 训练最大熵分类器

7.5.1 准备工作

7.5.2 工作方式

7.5.3 工作原理

7.5.4 更多信息

7.5.5 请参阅

7.6 训练scikit-learn分类器

7.6.1 准备工作

7.6.2 工作方式

7.6.3 工作原理

7.6.4 更多信息

7.6.5 请参阅

7.7 衡量分类器的精准率和召回率

7.7.1 工作方式

7.7.2 工作原理

7.7.3 更多信息

7.7.4 请参阅

7.8 计算高信息量单词

7.8.1 工作方式

7.8.2 工作原理

7.8.3 更多信息

7.8.4 请参阅

7.9 使用投票组合分类器

7.9.1 准备工作

7.9.2 工作方式

7.9.3 工作原理

7.9.4 请参阅

7.10 使用多个二元分类器分类

7.10.1 准备工作

7.10.2 工作方式

7.10.3 工作原理

7.10.4 更多信息

7.10.5 请参阅

7.11 使用NLTK训练器训练分类器

7.11.1 工作方式

7.11.2 工作原理

7.11.3 更多信息

7.11.4 请参阅

第8章 分布式进程和大型数据集的处理

8.1 引言

8.2 使用execnet进行分布式标注

8.2.1 准备工作

8.2.2 工作方式

8.2.3 工作原理

8.2.4 更多内容

8.2.5 请参阅

8.3 使用execnet进行分布式组块

8.3.1 准备工作

8.3.2 工作方式

8.3.3 工作原理

8.3.4 更多内容

8.3.5 请参阅

8.4 使用execnet并行处理列表

8.4.1 工作方式

8.4.2 工作原理

8.4.3 更多内容

8.4.4 请参阅

8.5 在Redis中存储频率分布

8.5.1 准备工作

8.5.2 工作方式

8.5.3 工作原理

8.5.4 更多内容

8.5.5 请参阅

8.6 在Redis中存储条件频率分布

8.6.1 准备工作

8.6.2 工作方式

8.6.3 工作原理

8.6.4 更多内容

8.6.5 请参阅

8.7 在Redis中存储有序字典

8.7.1 准备工作

8.7.2 工作方式

8.7.3 工作原理

8.7.4 更多内容

8.7.5 请参阅

8.8 使用Redis和execnet进行分布式单词评分

8.8.1 准备工作

8.8.2 工作方式

8.8.3 工作原理

8.8.4 更多内容

8.8.5 请参阅

第9章 解析特定的数据类型

9.1 引言

9.2 使用dateutil解析日期和时间

9.2.1 准备工作

9.2.2 工作方式

9.2.3 工作原理

9.2.4 更多信息

9.2.5 请参阅

9.3 时区的查找和转换

9.3.1 准备工作

9.3.2 工作方式

9.3.3 工作原理

9.3.4 更多信息

9.3.5 请参阅

9.4 使用lxml从HTML中提取URL

9.4.1 准备工作

9.4.2 工作方式

9.4.3 工作原理

9.4.4 更多信息

9.4.5 请参阅

9.5 清理和剥离HTML

9.5.1 准备工作

9.5.2 工作方式

9.5.3 工作原理

9.5.4 更多信息

9.5.5 请参阅

9.6 使用Beautiful Soup转换HTML实体

9.6.1 准备工作

9.6.2 工作方式

9.6.3 工作原理

9.6.4 更多信息

9.6.5 请参阅

9.7 检测和转换字符编码

9.7.1 准备工作

9.7.2 工作方式

9.7.3 工作原理

9.7.4 更多信息

9.7.5 请参阅

附录A 宾州treebank词性标签

模块3 使用Python掌握自然语言处理

第1章 使用字符串

1.1 标记化

1.1.1 将文本标记为句子

1.1.2 其他语言文字的标记化

1.1.3 将句子标记为单词

1.1.4 使用TreebankWordTokenizer进行标记化

1.1.5 使用正则表达式进行标记化

1.2 规范化

1.2.1 消除标点符号

1.2.2 转化为小写和大写

1.2.3 处理停用词

1.2.4 计算英语中的停用词

1.3 替代和纠正标记

1.3.1 使用正则表达式替换单词

1.3.2 使用一个文本替换另一个文本的示例

1.3.3 在标记化之前进行替代

1.3.4 处理重复的字符

1.3.5 删除重复字符的示例

1.3.6 使用单词的同义词替换单词

1.4 在文本上应用齐夫定律

1.5 相似性量度

1.5.1 使用编辑距离算法应用相似性量度

1.5.2 使用杰卡德系数应用相似性量度

1.5.3 使用史密斯-沃特曼算法应用相似性量度

1.5.4 其他字符串相似性指标

1.6 本章小结

第2章 统计语言模型

2.1 单词频率

2.1.1 对给定文本进行最大似然估计

2.1.2 隐马尔可夫模型估计

2.2 在MLE模型上应用平滑

2.2.1 加一平滑法

2.2.2 古德-图灵算法

2.2.3 聂氏估计

2.2.4 威滕·贝尔估计

2.3 为MLE指定回退机制

2.4 应用数据插值获得混合和匹配

2.5 应用困惑度评估语言模型

2.6 在建模语言中应用梅特罗波利斯-黑斯廷斯算法

2.7 在语言处理中应用吉布斯采样

2.8 本章小结

第3章 词语形态学——试一试

3.1 词语形态学

3.2 词根还原器

3.3 词形还原

3.4 开发用于非英语语言的词根还原器

3.5 词语形态分析器

3.6 词语形态生成器

3.7 搜索引擎

3.8 本章小结

第4章 词性标注——识别单词

4.1 词性标注

默认标注

4.2 创建POS标注的语料库

4.3 选择某个机器学习算法

4.4 涉及n元组方法的统计建模

4.5 使用POS标注的语料库开发组块器

4.6 本章小结

第5章 解析——分析训练数据

5.1 解析

5.2 构建树库

5.3 从树库中提取上下文无关文法的规则

5.4 从CFG中创建概率上下文无关的文法

5.5 CYK图解析算法

5.6 厄雷图解析算法

5.7 本章小结

第6章 语义分析——意义重大

6.1 语义分析

6.1.1 NER简介

6.1.2 使用隐马尔可夫模型的NER系统

6.1.3 使用机器学习工具包训练NER

6.1.4 使用POS标注的NER

6.2 从Wordnet中生成同义词集ID

6.3 使用Wordnet消除歧义

6.4 本章小结

第7章 情感分析——我很高兴

7.1 情感分析

使用NER的情感分析

7.2 使用机器学习的情感分析

NER系统的评价

7.3 本章小结

第8章 信息检索——访问信息

8.1 信息检索

8.1.1 停用词删除

8.1.2 利用向量空间模型进行信息检索

8.2 向量空间评分以及与查询操作器交互

8.3 利用隐含语义索引开发IR系统

8.4 文本摘要

8.5 问答系统

8.6 本章小结

第9章 话语分析——知识就是信仰

9.1 话语分析

9.1.1 使用定中心理论进行话语分析

9.1.2 回指解析

9.2 本章小结

第10章 NLP系统的评估——性能分析

10.1 对NLP系统进行评估的需求

10.1.1 NLP工具(POS标注器、词干还原器和形态分析器)的评估

10.1.2 使用黄金数据评估解析器

10.2 IR系统的评估

10.3 错误识别的指标

10.4 基于词汇匹配的指标

10.5 基于语法匹配的指标

10.6 使用浅层语义匹配的指标

10.7 本章小结

参考书目

Python和NLTK自然语言处理是2019年由人民邮电出版社出版,作者 (印) 尼天·哈登尼亚 (Nitin Hardeniya) 。

得书感谢您对《Python和NLTK自然语言处理》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Python图像处理经典实例 电子书
基于Python,轻松完成60余个复杂的图像处理和计算机视觉任务。
用Python轻松处理Excel数据 电子书
本书旨在帮助读者掌握如何用Python高效地处理Excel数据,实现办公自动化。本书首先介绍开发环境的搭建和Excel模块的安装,接着讲解编写代码前的准备,然后介绍如何使用openpyxl和pandas这两个模块编写员工信息表查询案例,最后介绍PyInstaller模块与.py文件的编译,以及如何快速移植本书案例的代码。本书不仅适合办公人员阅读,还适合想要了解openpyxl模块和pandas模块
数字图像处理与Python实现 电子书
本书采用通俗易懂的语言对数字图像处理的相关概念进行阐述,同时穿插较为典型的Python小程序,使读者能够快速掌握数字图像处理的相关概念和技术。
文本上的算法——深入浅出自然语言处理 电子书
《文本上的算法深入浅出自然语言处理》结合-作者多年学习和从事自然语言处理相关工作的经验,力图用生动形象的方式深入浅出地介绍自然语言处理的理论、方法和技术。本书抛弃掉繁琐的证明,提取出算法的核心,帮助读者尽快地掌握自然语言处理所必需的知识和技能。本书主要分两大部分。第一部分是理论篇,包含前3章内容,主要介绍一些基础的数学知识、*优化理论知识和一些机器学习的相关知识。第二部分是应用篇,包含第4章到第8
Python高手修炼之道:数据处理与机器学习实战 电子书
适读人群 :1.没有编程知识的新手 不同于一般的基础语法讲解教程,本书并未将Python 开发限定于某个集成开发工具(IDE)中,而是采用交互式编程的方式来强化读者对语言特性的理解,帮助新手读者真正理解Python 语言和Python 编程。2.从未接触过Python 语言,但了解一点编程知识的初学者 本书通过对基础知识高度的提炼和概括,以避免初学者陷入低级且冗长的细节知识点而心生懈怠;同时,本书为初学者规划了从初级到高级的编程技能提升路线图。3.具有一定基础的Python 程序员 本书可以作为案头工具书来使用。本书从基础语法、基本技能讲起,涵盖了科学计算、数据处理、机器学习等领域,示例代码涉及30 余个模块的使用。 构建从Python入门到数据分析到机器学习的路线图,入门有章可循; 1.讲解独到,常见盲点趣解析 作者基于多年的经验积累,善于总结概括初学Python过程中的误区。 2.内容全面,常用工具全涵盖 书中介绍的Python工具包覆盖Numpy、Matplotlib、Pandas、SciPy、Scikit-Learn,方便读者拓展实用技能、掌握工作利器。 3.拓展训练,重点知识有强化 语感训练100题、Python内置函数(类)手册、从新手到高手的100个模块,强化知识点的掌握。 4.代码完整,随时动手可复现 本书提供了完整、可验证的代码,方便读者动手练习并强化理解。