目前对生成器的理解.generator

  yield. 只要含有yield关键字的都是生成器函数。yield不能和return共用,且需要写在函数内部。用next一步一步的执行  生成器函数:在执行的过程之后会得到一个生成器作为返回值。# 生成器是一个特殊的迭代器。(本质上就是自己写的函数) %s   %i

  (自己外部控制)

  可迭代的---可迭代协议(含有iter方法)          迭代器里面的数据只能从头到尾取一次。

  生成器tedian:1.调用函数时函数不执行,返回一个生成器值

         2.每次使用next方法时会取到一个值,直到取到最后一个值,再执行就会报错

从生成器中取值的几种方法:

  1.for循环  2.next  3.数据类型的强制转换(比较占内存)

 

生成器函数的进阶:send   #send获取下一个值的效果跟next效果一样。 只不过在获取下一个值的同时,给上一个yield值的位置传递一个数据   

          注意:第一个是要生成器时室next获取下一个值。

             最后一个yield不能接受外部的值。

posted @ 2019-01-04 16:34  jacky912  阅读(236)  评论(0编辑  收藏  举报