欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

分享一篇关于yield的实例代码

程序员文章站 2022-04-09 10:25:18
...
下面小编就为大家带来一篇浅谈对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为此段运行完返回的数据

【相关推荐】

1. Python中yield用法详细说明

2. 解析python中and与or用法

3. 详解python之yield和Generator实例代码

4. Python中关于yield的使用方法介绍

以上就是分享一篇关于yield的实例代码的详细内容,更多请关注其它相关文章!

相关标签: yield 实例