生成器:函數內帶有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