生成器进阶

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)
View Code

send在获取下一个值时,会在上一个yield值之后传一个值进来

send获取下一个值的效果和next效果基本一致

只是在获取下个值的时候,就给上一个值的位置传递一个数据。

send的注意事项

 1. 第一次使用生成器的时候,必须使用next获取下一个值。

 2.    最后一个yield不能接收外部的值

 

posted @ 2019-08-17 22:36  套你大象  阅读(99)  评论(0)    收藏  举报