python的迭代协议:可迭代类型Iterable和迭代器Iterator
迭代器是访问集合内元素的一种方式,一般用来遍历数据
迭代器和以下标的访问方式不一样,迭代器是不能返回的,迭代器提供了一种惰性方式访问数据
可迭代的类型背后都是实现了迭代协议
Iterable实现了__iter__
Iterator继承Iterable,但还必须要实现__next__,
from collections import Iterable,Iterator
a = [1,2]
print(isinstance(a,Iterable)) # True
print(isinstance(a,Iterator)) # False
itor = iter(a) # iter()返回迭代器
print(isinstance(itor,Iterator)) # True