generator的send(value)方法

官方文档对generator.send(value)的介绍。

generator.send(value)
Resumes the execution and “sends” a value into the generator function. The value argument becomes the result of the current yield expression. The send() method returns the next value yielded by the generator, or raises StopIteration if the generator exits without yielding another value. When send() is called to start the generator, it must be called with None as the argument, because there is no yield expression that could receive the value.

第一次调用时,必须send(None)
value会作为yield的返回值
next方法相当于传入的value值为None

代码示例
关于generator.send方法
生成器test_send()每次yield出(n+1)个temp,主函数中示例send使用及其返回值,结果如下!
执行结果

每次send的值会作为temp的值,但是这个值函数并不保存,我在主函数中为send传入。send函数的返回值是在这次传入value的情况下,下一次yield会返回的值,但执行次数并不会受影响。能作为协程的实现方法之一,就是用的生成器的send()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值