迭代器

1.可迭代对象:可直接用for循环的对象称做可迭代对象:Iterablepython

●集合数据类型:list tuple dict set stride

●一类是generator:包括生成器和带yield的generator function函数

#可用isinstance()判断对象是不是一个可迭代对象(Iterable)
from collections import Iterable
print(isinstance([],Iterable))
print(isinstance({},Iterable))
print(isinstance("abc",Iterable))
print(isinstance( (x for x in range(10)) ,Iterable))
print(isinstance(100,Iterable))
#True
#True
#True
#True
#False
2.能够被next()方法调用,并不断返回下一个值的对象称为迭代器:Iterator       一般来讲就是具备next方法,而且能够for循环
#能够用isinstance()判断是不是一个迭代器(Iterator)
from collections import Iterator
print(isinstance([],Iterator))
print(isinstance({},Iterator))
print(isinstance("abc",Iterator))
print(isinstance( (x for x in range(10)) ,Iterator))
#False
#False
#False
#True

3.生成器就是一个迭代器(Iterator),但list,dict,str是迭代对象(Iterable),而不是迭代器(Iterator),但能够用iter()函数将其变成迭代器(Iterator)spa

from collections import Iterator
print(isinstance(iter([]),Iterator))
print(isinstance(iter({}),Iterator))
print(isinstance(iter("abc"),Iterator))
# True
# True
# True
相关文章
相关标签/搜索