如下所示:
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为此段运行完返回的数据
【相关推荐】
1. python中yield用法详细说明
2. 解析python中and与or用法
3. 详解python之yield和generator实例代码
4. python中关于yield的使用方法介绍
以上就是分享一篇关于yield的实例代码的详细内容。
