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)

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

猜你喜欢

转载自blog.csdn.net/dreamingcrazy/article/details/81876884