生成器进阶 -send

send=传值的__next__

#生成器函数进阶

def generator():
    print(111)
    content = yield 1
    print('====', content)
    print(222)
    yield 2

g = generator()
ret = g.send(None)
# ret = g.__next__()
print('***', ret)

ret = g.send('Hello')

# send的获取下一个yield的效果和next一样
# 只是在获取下一个yield的时候,给上一个yield的位置赋值
# 第一次使用必须传None,或第一次使用__next__方法
# 最后一个yield不能接受外部的值

 

posted @ 2020-03-31 20:25  vivagoal  阅读(90)  评论(0)    收藏  举报