迭代器是可迭代对象 可迭代对象并不一定是迭代器
迭代器迭代器一定包含__iter__和__next__两个方法
__iter__返回的是对象本身 self
__next__返回下一个数据 数据没有则抛出异常StopIteration
迭代器只能用一次 可迭代对象可以一直使用
iter(map)
from collections.abc import Iterator
a = {1,2,3}
print(isinstance(a,Iterator))#false
iter(a)
print(isinstance(a,Iterator))#true
maped = map(ord,"abcd")#这个就是迭代器
print(list(maped))#[97, 98, 99, 100]
print(list(maped))#[]
#但是这个不一样
a,b = map(int,input().split())
print(a,b)#1,2
print(a,b)#1,2
iter()强转为迭代器
from collections.abc import Iterator a = [1,2,3] print(isinstance(a,Iterator))#false print(a)#[1,2,3] print(a)#[1,2,3] a = iter(a) print(isinstance(a,Iterator))#true print(list(a))#[1,2,3] print(list(a))#[]



