生成器进阶

笑着哭i 提交于 2019-11-27 16:47:30

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不能接收外部的值

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!