可迭代的:内部实现了__iter__方法

迭代器:内部实现了__iter__,__next__方法

生成器:yield,yield from

 

使用

__iter__()

__next__()

__length_hint__()            # 长度

都可以使用for循环

只有迭代器可以使用next()

l = [1,2,3,4]
l1 = [1,2,3,4].__iter__()

for item in l:print(item)
# 1
# 2
# 3
# 4
for item in l1:print(item)
# 1
# 2
# 3
# 4

l = [1,2,3,4]
l1 = [1,2,3,4].__iter__()
print(next(l1))  # 1
print(next(l1))  # 2
print(l1.__next__())  # 3

print(next(l))  # 报错
都可以for循环,只有迭代器可以使用next()

相关文章: