生成器——day14

本文深入解析了Python中生成器的概念,解释了如何通过yield关键字创建生成器,以及如何使用生成器进行高效的数据处理。通过实例展示了生成器在处理大规模数据集时的优势。


生成器就是一种自定义的迭代器

如何得到生成器?
但凡函数内出现yield关键字,再去调用函数不会立即执行函数代码体,会得到一个返回值该返回值就是生成器对象及自定义的迭代器
def func():
print('first')————执行第一次取出一个值
yield 1
print('second')————执行第二次取出一个值
yield 2
print('third')————执行第三次取出一个值
yield 3

g=func()
print(g)————func的内存地址

res1=next(g)————执行第一次取出一个值
print(res1)

res2=next(g)————执行第二次取出一个值
print(res2)

res3=next(g)————执行第三次取出一个值
print(res3)

next(g)

可以生成想要范围内的数
def my_range(start,stop,step=1):
while start < stop: ——# 5 < 5(顾头不顾尾)
yield start
start+=step

range(1,5,2) # 1 3
for i in my_range(1,5000000000000000000000000000000000000000000,2): # 1 3
print(i)————会一直循环输出上面这个值以内的值

转载于:https://www.cnblogs.com/wenchen/p/10058841.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值