python中yield与return的用法与区别

生成器:函数内带有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 

原文地址:https://www.cnblogs.com/catherine007/p/8309474.html