浅谈对yield的初步理解
更新时间:2017年05月29日 08:09:03 投稿:jingxian
下面小编就为大家带来一篇浅谈对yield的初步理解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
如下所示:
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", r)
data += 1
r = yield data
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 = yield data
r 为my.send('传入的数据') 传入的数据
data为此段运行完返回的数据
以上这篇浅谈对yield的初步理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
这篇文章主要介绍了Python基于递归和非递归算法求两个数最大公约数、最小公倍数,涉及Python递归算法、流程循环控制进行数值运算相关操作技巧,需要的朋友可以参考下2018-05-05


最新评论