迭代器 生成器总结2019-07-02

并行(真多任务)多个任务一起执行

并发(假多任务)多个任务在有限核中交替执行

生成器是一类特殊的迭代器 判断的迭代器的方法是用isinstance()方法 把要比较的东西和iterator 放在一起 将结果给一个变量赋值,如果这个变量的值为true 那么这个要比较的东西就是迭代器,迭代器需要有__iter__和__next__两个方法;而生成器只需其内容这有yeild 就行,不一定要有__iter__和__next__两个方法。

yeild和return 的区别:当执行到yeild时函数会暂停,这时会有返回值,返回yeild后边的数据,这个数据可以被变量接受到并在屏幕上打印出来;这一步结束后可以用next 或send 这两个方法去激活生成器继续运行,而在这里next和send的区别时next只用于激活生成器,没有别的功能;而send在这里还能传一个参数进去这样灵活性比next强速度会相应慢一些,但不能在生成器一开始九加send这样会产生错误 。在激活生成器后,会在yeild之后继续执行代码。    return的作用使返回数据但之后会使函数停止,不再继续往下执行。

在调用函数时,如果发现这个函数中有yeild,那么此时不是调用函数,而实创建以一个生成器。

迭代器的好处是方便减少资源的浪费,加快开发的速度  

有耗时操作时需要添加猴子插件 既由gevent包中的一个模块使用时的格式是monkey.patch_all()

你可能感兴趣的:(迭代器 生成器总结2019-07-02)