生成器

理解Python生成器

什么是生成器

在函数内但凡出现yield关键字,再调用函数就不会出现函数体代码,会返回一个值,该值被称为生成器

为什么要有生成器

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

如何用生成器

def func():
    print('first1')
    print('first2')
    print('first3')
    yield 1 #暂停
    print('second1')
    print('second2')
    print('second3')
    yield 2  #暂停
    print('third')
    yield 3 #暂停
    print('fourth')

g=func()
print(g)    #得到的是一个内存地址
print(g.__iter__().__iter__().__iter__() is g)
res1=next(g)
print('第一次的返回值:',res1)

print('='*100)
res2=next(g)
print('第二次的返回值:',res2)

print('='*100)
res3=next(g)
print('第三次的返回值:',res3)

print('='*100)
res4=next(g)
print('第三次的返回值:',res4)

for item in g: #g=iter(g) #item=next(g)
    print(item)

 

 

转载于:https://www.cnblogs.com/chillwave/p/9179619.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值