浅谈对yield的初步理解
如下所示:
defgo():
whileTrue:
data=1
r=yielddata#data是返回值,r是接收值
print("data",data)
print("A1",r)
data+=1
r=yielddata
print("data",data)
r+=r
print("A2",r)
data+=1
r=yielddata
print("data",data)
print("A3",r)
#运行时此后若找不到下一个yield,则会报错StopIteration
my=go()
print("my",my)
print("None",my.send(None))
print(my.send("1"))
print(my.send("2"))
print(my.send("3"))
①my.send(None): 意思为启动协程,此步会返回第一个yield后面的data值。
②send一次,运行的代码是两个yield之间的代码,最后返回后一个yield后面的data值,若缺少后一个yield语句,则会报错“Stoplteration”
③r=yielddata
r为my.send('传入的数据')传入的数据
data为此段运行完返回的数据
以上这篇浅谈对yield的初步理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
热门推荐
10 香港老妈结婚祝福语简短
11 毕业立体贺卡祝福语简短
12 简短新年年会祝福语
13 评论小品祝福语大全简短
14 恭喜师兄结婚祝福语简短
15 员工集体辞职祝福语简短
16 高中新生祝福语 简短
17 装修祝福语男生搞笑简短
18 生日开业蛋糕祝福语简短