python 迭代器

# -*- coding: utf-8 -*-
# 所有的生成器都是迭代器,所有的迭代器不一定都是生成器

# 迭代器必须满足: 1、有iter()方法 2、有next()方法

# for循环的工作:
#1 调用iter()方法返回一个迭代器对象
#2 不断调用next()方法
#3 处理StopIteration异常

# 可以使用for的,都是Iterable
# 迭代器可用next()访问
# list,tample,dict是Iterable,不是Iterator,可用iter()方法转化为Iterator

from collections import Iterable,Iterator
a = [1,2,3,4]
b = iter(a)
print(isinstance(a,Iterable)) #True
print(isinstance(a,Iterator)) #False
print(isinstance(b,Iterable)) #True
print(isinstance(b,Iterator)) #True
原文地址:https://www.cnblogs.com/livid/p/9587839.html