迭代器

from collections.abc import Iterator, Iterable

# 生成器是一个迭代器,迭代器不一定是生成器
# 迭代器满足两个条件:1、有iter方法,2、可以被next方法调用

l = [1, 2, 3, 5]
d = iter(l)

print(d)
print(next(d))
print(next(d))

# for循环做的事:
#     1、调用可迭代对象的iter方法返回一个可迭代对象
#     2、不断调用可迭代对象的next方法
#     3、处理StopIteration 报错,结束循环
for i in d:
    print(i)


print(isinstance(l, list))
print(isinstance(d, Iterator))  # 是否是迭代器
print(isinstance(l, Iterable))  # 是否是可迭代对象

 

posted @ 2024-09-14 15:38  GDquicksand  阅读(1)  评论(0编辑  收藏  举报