生成器--滴滴!

只要含有yield关键字的函数都是生成器函数
那么什么是yield呢
看下图!
在这里插入图片描述
yield的用法跟return有点类似,但它不能和return共用且需要写在函数内
执行一个生成器函数会返回一个生成器
生成器的本质就是迭代器
生成器的表现形式:生成器函数
生成器表达式
生成器函数的特点:调用函数不执行,返回一个生成器
每次调用next方法的时候会取到一个值
直到取完最后一个,执行next会报错
这里再介绍生成器的一些其他方法
send方法
在这里插入图片描述
send功能和next差不多,它在获取下个值的时候给上一个值传递一个数据
使用send的注意事项:第一次使用生成器的时候,是用next获取下一个值
最后一个yield不能接收外部的值
看一个比较有趣的例子
在这里插入图片描述
上下两种方法相当
下面我们介绍一下生成器表达式
列表推导式:[i for i in range(3)]
生成器表达式:(i for i in range(3))
可以看出,这两个式子唯一有区别的就是括号
但它们的意义大不相同,前者返回一个列表,后者返回一个生成器
生成器的概念介绍到这里就结束了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值