Python基础之迭代器

一丧:别害怕,反正都会后悔的

认识迭代器一定要认识一个单词yield。
yield是什么意思?在笔者认为它就是一个暂停并输出的意思,当再次调用时从暂停处继续执行代码到达下一个暂停并输出。
我们来看一个简单的代码吧。

def shuchu(num):
    for n in range(num):
        yield n
f = shuchu(5)
print(next(f))
print(next(f))
print(next(f))
print(next(f))
print(next(f))
print(next(f))

它的输出为:
这里写图片描述
但是如果我们超出范围会怎么样呢?
它会给我们报如下错误:
这里写图片描述
大家思考一下,每次都使用next()是不是太麻烦了,一点也不优雅。可是不用next我们用什么呢?诶,没错,我们用循环去遍历它呀。

def shuchu(num):
    for n in range(num):
        yield n
f = shuchu(5)
for n in f:
    print(n)

它的输出如下:
这里写图片描述
好的,以上就是迭代器的基本使用用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值