源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

浅谈对yield的初步理解

  • 时间:2022-01-25 10:51 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:浅谈对yield的初步理解
[b]如下所示:[/b]
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"))
[b]①my.send(None):  [/b]意思为启动协程,此步会返回第一个yield后面的data值。 [b]②send[/b]一次,运行的代码是两个yield之间的代码,最后返回后一个yield后面的data值,若缺少后一个yield语句,则会报错“Stoplteration” [b]③r = yield data[/b]    r 为my.send('传入的数据') 传入的数据    data为此段运行完返回的数据 以上这篇浅谈对yield的初步理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程素材网。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部