diff --git a/Class/class_and_object.md b/Class/class_and_object.md
index 416f2bb..1f3e6b9 100644
--- a/Class/class_and_object.md
+++ b/Class/class_and_object.md
@@ -30,7 +30,7 @@ class Animal(object):
然后,在创建实例的时候,传入参数:
```python
->>> animal = Aniaml('dog1') # 传入参数 'dog1'
+>>> animal = Animal('dog1') # 传入参数 'dog1'
>>> animal.name # 访问对象的 name 属性
'dog1'
```
diff --git a/Datatypes/README.md b/Datatypes/README.md
index 44fd8c2..397145e 100644
--- a/Datatypes/README.md
+++ b/Datatypes/README.md
@@ -7,7 +7,7 @@
所有序列类型都可以进行某些通用的操作,比如:
- 索引(indexing)
-- 分片(sliceing)
+- 分片(slicing)
- 迭代(iteration)
- 加(adding)
- 乘(multiplying)
diff --git a/File-Directory/os.md b/File-Directory/os.md
index aa1b7b6..75cac12 100644
--- a/File-Directory/os.md
+++ b/File-Directory/os.md
@@ -109,7 +109,7 @@ False
- os.walk
-os.walk 是遍历目录常用的模块,它返回一个包含 3 个元素的元祖:(dirpath, dirnames, filenames)。dirpath 是以 string 字符串形式返回该目录下所有的绝对路径;dirnames 是以列表 list 形式返回每一个绝对路径下的文件夹名字;filesnames 是以列表 list 形式返回该路径下所有文件名字。
+os.walk 是遍历目录常用的模块,它返回一个包含 3 个元素的元组:(dirpath, dirnames, filenames)。dirpath 是以 string 字符串形式返回该目录下所有的绝对路径;dirnames 是以列表 list 形式返回每一个绝对路径下的文件夹名字;filenames 是以列表 list 形式返回该路径下所有文件名字。
```python
>>> for root, dirs, files in os.walk('/Users/ethan/coding'):
diff --git a/PYTHONroadmap.png b/PYTHONroadmap.png
new file mode 100644
index 0000000..8a2e097
Binary files /dev/null and b/PYTHONroadmap.png differ
diff --git a/Process-Thread-Coroutine/process.md b/Process-Thread-Coroutine/process.md
index a75f91c..8861568 100644
--- a/Process-Thread-Coroutine/process.md
+++ b/Process-Thread-Coroutine/process.md
@@ -129,6 +129,29 @@ pid:11747, num is 13
pid:11748, num is 13
```
+这是因为根据不同的平台,multiprocessing支持三种启动进程的办法:
+#### spawn
+父进程会启动一个新的解释器,子进程只会继承run()所需的资源。
+不必要的文件描述符和句柄(一种指针)不会被继承。
+该方法和fork,forkserver相比,启动进程较慢。
+
+可在Unix和Windows上使用。 Windows上的默认设置。
+
+#### fork
+父进程使用 os.fork() 来产生 Python 解释器分叉。
+子进程在开始时实际上与父进程相同,并且会继承父进程的所有资源。
+多线程的安全是有问题的。
+
+只能在Unix上使用。Unix上的默认设置。
+
+#### forkserver
+程序启动并选择forkserver启动方法时,将启动一个服务器进程。
+之后每当需要一个新进程时,父进程就会连接到服务器并请求它分叉一个新进程。
+分叉服务器进程是单线程的,因此使用 os.fork() 是安全的。
+没有不必要的资源被继承。
+
+可在Unix平台上使用,并支持通过Unix管道传递文件描述符。
+
## 使用进程池创建多个进程
在上面,我们只是创建了一个进程,如果要创建多个进程呢?Python 提供了**进程池**的方式,让我们批量创建子进程,让我们看一个简单的示例:
@@ -254,9 +277,7 @@ DONE
- [编程中的进程、线程、协程、同步、异步、回调 · 浮生半日闲](https://wangdashuaihenshuai.github.io/2015/10/17/%E7%BC%96%E7%A8%8B%E4%B8%AD%E7%9A%84%E8%BF%9B%E7%A8%8B%E3%80%81%E7%BA%BF%E7%A8%8B%E3%80%81%E5%8D%8F%E7%A8%8B%E3%80%81%E5%90%8C%E6%AD%A5%E3%80%81%E5%BC%82%E6%AD%A5%E3%80%81%E5%9B%9E%E8%B0%83/)
- [python中多进程以及多线程编程的总结 - Codefly](http://sunms.codefly.top/2016/11/05/python%E4%B8%AD%E5%A4%9A%E8%BF%9B%E7%A8%8B%E4%BB%A5%E5%8F%8A%E5%A4%9A%E7%BA%BF%E7%A8%8B%E7%BC%96%E7%A8%8B%E7%9A%84%E6%80%BB%E7%BB%93/)
- [multithreading - Python multiprocessing.Pool: when to use apply, apply_async or map? - Stack Overflow](http://stackoverflow.com/questions/8533318/python-multiprocessing-pool-when-to-use-apply-apply-async-or-map)
-
+- [multiprocessing --- 基于进程的并行¶](https://docs.python.org/zh-cn/3/library/multiprocessing.html)
[mp]: https://docs.python.org/2/library/multiprocessing.html
-
-
diff --git a/README.md b/README.md
index 07d98d9..e33cca7 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,10 @@
-
+
Python 之旅
===

[](https://raw.githubusercontent.com/ethan-funny/explore-python/master/LICENSE)
-[](https://github.com/igrigorik/ga-beacon)
## Python 简介
@@ -13,7 +12,9 @@ Python 诞生于 1989 年的圣诞期间,由 [Guido van Rossum](https://gvanro
Python 是一门面向对象,解释型的高级程序设计语言,它的语法非常简洁、优雅,而这也是 Python 的一些设计哲学。Python 自带了很完善的库,涵盖了数据库,网络,文件处理,GUI 等方方面面,通过这些库,我们可以比较快速地解决一些棘手问题,也可以将其作为基础库,开发出一些高级库。
-目前 Python 在大部分领域都占有一席之地,比如 Web 开发,机器学习,科学计算等。不少大型网站都是使用 Python 作为后台开发语言的,比如 [YouTube](https://www.youtube.com/)、[Pinterest](https://www.pinterest.com/)、国内的[豆瓣](https://www.douban.com/)和[知乎](http://www.zhihu.com/)等。另外,有不少知名的机器学习库也是使用 Python 开发的,比如,[scikit-learn](http://scikit-learn.org/stable/) 是一个强大的机器学习库,[Theano](https://github.com/Theano/Theano) 是一个成熟的深度学习库。
+目前 Python 在大部分领域都占有一席之地,比如 Web 开发,机器学习,科学计算等。不少大型网站都是使用 Python 作为后台开发语言的,比如 [YouTube](https://www.youtube.com/)、[Pinterest](https://www.pinterest.com/)、国内的[豆瓣](https://www.douban.com/)和[知乎](http://www.zhihu.com/)等。
+
+另外,有不少知名的机器学习库也是使用 Python 开发的,比如,[scikit-learn](http://scikit-learn.org/stable/) 是一个强大的机器学习库,[PyTorch](https://pytorch.org/) 是一个成熟的深度学习库。
当然了,Python 也有一些缺点。Python 经常被人们吐槽的一点就是:运行速度慢,和 C/C++ 相比非常慢。但是,除了像视频高清解码等**计算密集型任务**对运行速度有较高的要求外,在大部分时候,我们可能并不需要非常快的运行速度。比如,一个程序使用 C 来实现,运行时间只需 0.01 秒,而使用 Python 来实现,需要 0.1 秒,虽然 Python 的运行时间是 C 的 10 倍,显然很慢,但对我们而言,这压根不是问题。
@@ -25,7 +26,8 @@ Python 是一门面向对象,解释型的高级程序设计语言,它的语
首先,我参考一些相关的书籍,作了一个基础的思维导图,如下:
-
+
+
接下来,就要开始写作了,这也是最艰难的一关。
@@ -58,11 +60,6 @@ Python 是一门面向对象,解释型的高级程序设计语言,它的语
本书将会持续进行修订和更新,读者如果遇到问题,请及时向我反馈,我会在第一时间加以解决。
-## 下载电子版
-
-目前本书暂时提供 epub 格式的电子版,因为生成的 pdf 和 mobi 版本并不是很美观,不利于阅读,故暂不提供。
-
-[点击下载 epub 版本](https://github.com/ethan-funny/explore-python/files/691859/explore-python.epub.zip)
## 声明
@@ -80,19 +77,13 @@ Python 是一门面向对象,解释型的高级程序设计语言,它的语
| 时间 | 说明 |
| :---: | :---: |
| 2017-01-03 | 发布版本 v1.0 |
+| 2019-02-09 | fix typo |
-## 联系我
-
-如果你对于本书有什么建议或意见,欢迎批评指正,并联系我。
-
-- [个人主页](http://funhacks.net)
-- [GitHub](https://github.com/ethan-funny)
-- [Twitter](https://twitter.com/pihacks)
## 支持我
如果你觉得本书对你有所帮助,不妨请我喝杯咖啡,感谢支持!
-
+
diff --git a/book.json b/book.json
index f36863d..0520c60 100644
--- a/book.json
+++ b/book.json
@@ -12,7 +12,6 @@
"weibo": null
},
"sidebar": {
- "个人主页": "http://funhacks.net",
"书籍源码": "https://github.com/ethan-funny/explore-python/"
}
},