可迭代的:内部实现了__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)) # 报错