最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
python生成式的send()方法
时间:2017-05-09 编辑:简简单单 来源:一聚教程网
随便在网上找了找,感觉都是讲半天讲不清楚,这里写一下。
代码如下 | 复制代码 |
defgenerator(): whileTrue: receive=yield1 print('extra'+str(receive))
g=generator() print(next(g)) print(g.send(111)) print(next(g)) |
输出:
代码如下 | 复制代码 |
1 extra111 1 extraNone 1 |
为什么会这样呢,点进send就能看到一句话
send:Resumes the generator and "sends" a value that becomes the result of the current yield-expression.
就是说这里yield 1整体被视为一个表达式,你send的内容会作为这个表达式的值,随便你左边用什么东西接收或者不接收,总之yield就是你send进来的那个东西。这个表达式变成你send进来后的东西后继续执行,再次遇到yield,输出yield后面跟着的表达式。
当然通常使用的话都不会输出一个常量,会输出一个和接收到的东西相关的量,不然岂不是白白发送了。
相关文章
- Python中怎么生成Epoch 05-01
- 保时捷驾驶证生成器怎么玩 保时捷驾驶证生成器玩法 03-01
- 什么是形状生成工具?AI怎么使用形状生成工具绘制图形? 02-06
- 拍大师生成崩溃怎么回事 拍大师生成崩溃解决方法 01-14
- Python如何快速从注释生成文档 12-28
- 映客直播APP映口令生成方法分享 10-30