https://hackernoon.com/the-magic-behind-python-generator-functions-bc8eeea54220

这几天写爬虫,先是用的单线程,后来改成了多线程,最后终于用到了协程。上面这篇文章讲述了CPython里generator是如何实现的。

简单的来说,function就是一段代码,而closure是保存了变量状态(包括函数局部的变量及它所在context也就是环境的状态)的function,而generator是保存了上一次执行到哪行代码了的function.