浅谈对yield的初步理解
发布时间:2020-05-24 12:23:58 所属栏目:Python 来源:互联网
导读:如下所示:defgo():whileTrue:data=1r=yielddata#data是返回值,r是接收值print("data",data)
|
如下所示:
def go():
while True:
data = 1
r = yield data # data是返回值,r是接收值
print("data",data)
print("A1",r)
data += 1
r = yield data
print("data",data)
r += r
print("A2",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 = yield data r 为my.send('传入的数据') 传入的数据 data为此段运行完返回的数据 以上这篇浅谈对yield的初步理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
