浅谈对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 Aligo库设置json路径使用详解

    python Aligo库设置json路径使用详解

    这篇文章主要为大家介绍了python Aligo库设置json路径使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Python求最小公倍数4种方法总结

    Python求最小公倍数4种方法总结

    这篇文章主要给大家介绍了关于Python求最小公倍数4种方法的相关资料,最小公倍数不可以像最大公约数那样直接利用辗转相除法求出,但可以借助辗转相除法求得的最大公约数来求最小公倍数,需要的朋友可以参考下
    2023-10-10
  • python中hashlib模块用法示例

    python中hashlib模块用法示例

    这篇文章主要介绍了python中hashlib模块用法示例,具有一定参考价值,需要的朋友可以了解下。
    2017-10-10
  • python 实现屏幕录制示例

    python 实现屏幕录制示例

    今天小编就为大家分享一篇python 实现屏幕录制示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python 时间戳与格式化时间的转化实现代码

    python 时间戳与格式化时间的转化实现代码

    这篇文章主要介绍了python 时间戳和格式化时间的转化,需要的朋友可以参考下
    2016-03-03
  • Python使用一行代码获取上个月是几月

    Python使用一行代码获取上个月是几月

    本文介绍的关于Python时间日期处理,日期时间处理在实际应用场景中无处不在,所以这也成了编程语言中必不可少的模块,本文主要给大家介绍Python使用一行代码获取上个月是几月的相关知识,感兴趣的朋友一起看看吧
    2018-08-08
  • pd.DataFrame统计各列数值多少的实例

    pd.DataFrame统计各列数值多少的实例

    今天小编就为大家分享一篇pd.DataFrame统计各列数值多少的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • 一篇文章带你入门python之推导式

    一篇文章带你入门python之推导式

    这篇文章主要为大家详细介绍了python的推导式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • Python画图常用代码总结大全(20个画图代码现拿现用)

    Python画图常用代码总结大全(20个画图代码现拿现用)

    Python是一种高级编程语言,拥有丰富的图形库,可以完成绘制各种类型的图形任务,下面这篇文章主要给大家介绍了关于Python画图常用代码的相关资料,文中介绍的这20个画图代码可以现拿现用,需要的朋友可以参考下
    2023-06-06
  • Ubuntu16安装Python3.9的实现步骤

    Ubuntu16安装Python3.9的实现步骤

    这篇文章主要介绍了Ubuntu16安装Python3.9的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论