python3.5进阶(三)-------------实现多任务之协程(生成器,迭代器)

1.迭代器:迭代是访问集合元素的一种方式,迭代器是可以记住遍历的位置的对象,迭代器对象从集合的第一个元素开始访问,直到所有访问结束,迭代器只能前进不能后退。判断一个数据类型是否可以迭代,看是否能for循环。如(字符串,列表,元祖...)序列可以迭代,数字不能迭代,或通过isintance([11,12,13],Iterable),判断前者([11,12,13])是否是可迭代(Iterable)的。



2. 列表与迭代器下各自表示斐波拉契数列的方式:迭代器可以通过for循环取里面的值,也可以通过list(Fibonacci)、tuple(Fibonacci)获取里面的值。

3. 生产器:即特殊的迭代器。在一个函数中如果存在yield语句,就会把函数变成一个生成器模板,然后通过for循环调用该函数。

4. 生成器的next(obj)和obj.send(参数)的2种开启方式。

5. 协程(生成器)实现多任务的案例:

         5.1 yeild下的协程:不常用 

       5.2 greedlet下的协程:不常用

      5.3 gevent下的协程的多任务案例:推荐使用

      5.4 gevent下的协程的多任务案例,下载网络上的图片到本地:

6. 线程,进程,协程的对比:

猜你喜欢

转载自blog.csdn.net/qq_42231156/article/details/83006160