生成器:函数内带有yield关键字,那么,这个函数执行的结果就是生成器。
生成器,本质就是迭代器。
迭代器,是一次性的。
return与,yield
1,return只能返回一次函数就彻底结束了。而yield能返回多次值。
2,yield把函数变成生成器---迭代器--->把iter,next方法给到函数了。为我们自己定义迭代器,提供了方便。
3,yield能保存函数在暂停,和继续下一次运行的状态。
总结yield功能:
1,相当于把__iter__和__next__方法,封装到函数内部。
2,yield能返回多次。
3,函数暂停,和继续运行的状态,是通过yield保存的。
yield用法:
1,yield用来模拟管道,能够让grep命令,接收
2,yield的表达式形式。food = yield