官方文档:

generator.send(value)
恢复执行并向生成器函数“发送”一个值。 value 参数将成为当前 yield 表达式的结果。 send() 方法会返回生成器所产生的下一个值,或者如果生成器没有产生下一个值就退出则会引发 StopIteration。 当调用 send() 来启动生成器时,它必须以 None 作为调用参数,因为这时没有可以接收值的 yield 表达式。

示例:

def test():for i in range(5):sig = yield iprint('send by:', sig)a = test()print(a.__next__()) # 运行生成器,在yield处停止
print(a.send('a'))    # 将“a”传递给sig变量,并在下一个yield处停止,返回1
print(a.send('b'))    # 将“b”传递给sig变量,并在下一个yield处停止,返回2
print(a.__next__()) # 运行生成器,在yield处停止,sig为None

输出:

0
send by: a
1
send by: b
2
send by: None
3

python生成器的send方法相关推荐

  1. Python生成器的send方法、递推函数、匿名函数及常用内置函数

    1.生成器的send方法 在使用yield方法创建生成器时,不仅可以使用next方法进行取值,还可以通过send方法向生成器的内部传值 1.1 什么是send方法? send方法相当于高级的next方 ...

  2. Python生成器对象send()方法用法

    关于生成器基本用法请参考详解Python生成器函数和生成器对象的原理和用法 >>> def f():     yield from 'abcdefg'     #使用yield表达式 ...

  3. python 生成器 send_python(可迭代对象,迭代器,生成器及send方法详解)

    一.可迭代对象 对象必须提供一个__iter__()方法,如果有,那么就是可迭代对象, 像列表,元祖,字典等都是可迭代对象 可使用isinstance(obj,Iterable)方法判断 1 from ...

  4. Python系列(七):用栗子带你深入了解生成器的send()方法

    一.问题引入 在Python中,可以使用生成器来一次返回单个元素,从而可以避免大量占用内存.下面例子中计算房价函数house_price便是一个生成器的栗子,该函数接收两个参数,其中unit_pric ...

  5. Python生成器(send,close,throw)方法详解

    <Python生成器>一节中,详细介绍了如何创建一个生成器,以及生成器的基础用法.本节将在其基础上,继续讲解和生成器有关的一些方法. Python生成器send()方法 我们知道,通过调用 ...

  6. Python生成器及send用法讲解

    - 生成器 我们调用一个普通的Python函数时,一般是从函数的第一行代码开始执行,结束于return语句.异常或者函数结束(可以看作隐式的返回None).一旦函数将控制权交还给调用者,就意味着全部结 ...

  7. ret php,php生成器的send方法详解,php yield send

    [一].基本用法 首先看看官方对send方法的解释:Sets the return value of the yield expression and resumes the generator (u ...

  8. python3 之 生成器的send()方法

    在上一篇文章里我们学习到了用__next__()方法去遍历生成器,且函数中的yield 标识符 左侧是没有 变量= 的.类似于这样: 文章地址:https://blog.csdn.net/weixin ...

  9. 生成器的send方法

    send 和next区别 next:唤醒并继续执行 send:唤醒并继续执行 发送信息到生成器内部. def fib(max):n,a,b = 0,0,1while n < max:msg = ...

最新文章

  1. Openstack组件实现原理 — Glance架构(V1/V2)
  2. 不是内部或外部命令也不是可运行的程序?
  3. angularjs与PHP,我应该混合AngularJS与PHP框架吗?
  4. c语言不同类型指针间的强转,C语言中不同的结构体类型的指针间的强制转换详解...
  5. java用thinkpadx1_还用老的办公本? 处理文件速度怎够用
  6. mysql的主从分离_Mysql的主从分离配置
  7. freemarker html 引入script_HTML编码规范
  8. linux head命令作用,Linux查看文件内容之head命令
  9. android 服务器返回302,Android WebView 内处理302重定向不跳转的解决
  10. Jenkins自动化部署容器
  11. IOS开发笔记(1)---Hello World
  12. idea-导入其他项目模块的包爆红
  13. 【编程珠玑】第四章 编写正确的程序
  14. Windows Azure AppFabric 入门教学(七):多播(Multicast)
  15. Linux服务器查看日志方法小结
  16. ECharts类图表数据实时更新
  17. JS中如何设置背景图片?
  18. 迷茫的剑客----网站设计师! -----静水流深
  19. 神经网络做什么比较合适,神经网络和计算机网络
  20. 人工智能对医疗和健康产业的冲击和革命——意识上传技术展望

热门文章

  1. 初识Softmax回归
  2. LINUX 挂载点目录及其作用
  3. hadoop搭建常见错误及解决方案
  4. 5个用于图像处理的Python库
  5. C++ 类型的值不能用于初始化类型的实体 “const char *“ 类型的值不能用于初始化
  6. 四川一度智信:电商网店自然流量提升技巧
  7. DNP开发出用于小型化、高可靠性半导体封装QFN的引线框架
  8. 可视化技术发展存在的问题
  9. 渲染引擎分析 - 鸿蒙(OpenHarmony) JS UI 源码阅读笔记
  10. Linux虚拟机设置双网卡