标签:为什么 __next__ return __iter__ 状态 表达式 列表 包子 地方
总结yield的功能:
1.相当于把__iter__和__next__方法封装到函数内部
2.与return比,return只能返回一次,而yield能返回多次
3.函数暂停已经继续运行的状态是通过yield保存的
#e.send与next(e)的区别
#1.如果函数内yield是表达式形式,那么必须先next(e)
#2.二者的共同之处是都可以让函数在上次暂停的位置继续运行,不一样的地方在于
send在触发下一次代码的执行时,会顺便给yield传一个值
e=eater(‘铁骨‘)
next(e)
e.send(‘包子‘)
e.send(‘豆子‘)
标签:为什么 __next__ return __iter__ 状态 表达式 列表 包子 地方
原文地址:http://www.cnblogs.com/jack2017/p/7617642.html