python-迭代器,,生成器都是迭代器,但


生成器都是迭代器,但迭代器不一定是生成器

l = [1,2,3,4]
#生成器都是迭代器,迭代器不一定都是生成器
#list,tuple,dict,string:Iterable(可迭代对象)
from collections import Iterator,Iterable
l = [1,2,3,4]
d = iter(l) #l.__iter__()
print(d) #<list_iterator object at 0x00000265A84C65C0>

# 什么是迭代器?
# 1、有iter方法 2、有next方法

#for循环内部三件事
#1、调用可迭代对象的iter放大返回一个迭代器对象
#2、不断调用迭代器对象的next方法
#3、处理StopIterable

print(isinstance([1,2],list))
l = [1,2,3,4]
d = iter(l) #l.__iter__()
print(d) #<list_iterator object at 0x00000265A84C65C0>
print(isinstance(1,Iterator))
print(isinstance(1,Iterable))

python-迭代器

评论关闭