send与next
def generator(): print(123) count = yield 1 print('=====',count) print(456) yield 2 g = generator() ret = g.__next__() print('****',ret) ret = g.send('套你大象')#send的效果与next一样 print('***',ret)
send在获取下一个值时,会在上一个yield值之后传一个值进来
send获取下一个值的效果和next效果基本一致
只是在获取下个值的时候,就给上一个值的位置传递一个数据。
send的注意事项
1. 第一次使用生成器的时候,必须使用next获取下一个值。
2. 最后一个yield不能接收外部的值