python-day17--迭代器
1.迭代:
迭代就是一个一个一个挨着的取值
2.可迭代类型: str ,列表,元组,集合,字典
3.判断迭代器和可迭代的方法
#第一种:判断内部是不是实现了 __next__
#'__next__' in dir(o)
#第二种:
# from collections import Iterable #可迭代
# from collections import Iterator #迭代器
# isinstance(o,Iterable)
# isinstance(o,Iterator)
from collections import Iterable
from collections import Iterator
map_o = [1,2,3,4]
print(isinstance(map_o,Iterable))
print(isinstance(map_o,Iterator))
4.
#可迭代协议 : 内部实现了__iter__方法
#迭代器协议 : 内部实现了__iter__ __next__方法
#可迭代和迭代器的相同点 : 都可以用for循环
通过iter()得到的结果就是一个迭代器,
5. 迭代器的特点
#可以用for循环
#可以节省内存
#你只能用一次 (用一次它就动一下)
6. l = [1,2,3,4,5]
l_iterator = iter(l)
while True:
try:
print(next(l_iterator))
except StopIteration:
break