您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

浅谈对yield的初步理解

5b51 2022/1/14 8:17:03 python 字数 2335 阅读 327 来源 www.jb51.cc/python

如下所示: defgo(): whileTrue: data=1 r=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的初步理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程小技巧。

总结

以上是编程之家为你收集整理的浅谈对yield的初步理解全部内容,希望文章能够帮你解决浅谈对yield的初步理解所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶