1、迭代器
定义:就是可以使用for_in进行遍历,并且可以使用next依次获取元素对象
#判断是否是迭代器
from collections import Iterator
l = (i for i in range(10))
#判断是不是迭代器(是迭代器)
print(isinstance(l,Iterator))
#不是迭代器,字符串,列表,元组,集合,字典都不是迭代器,他们都是可迭代对象
lt = [1,2,3,5]
print(isinstance(lt,Iterator))
#可迭代对象
#定义;可以使用for—in遍历的对象,都称为可迭代对象
#如何判断是否是可迭代对象
from collections import Iterable
print(isinstance(l,Iterable))
print(isinstance(lt,Iterable))
#iter函数:作用:将可迭代对象转换为迭代器
lt2 = iter(lt)
print(isinstance(lt2,Iterator))
2、生成器
生成器就是一种特殊的迭代器,生成器是一次生成一个值的特殊类型函数。可以将其视为可恢复函数。调用该函数将返回一个可用于生成连续 x 值的生成器,简单的说就是在函数的执行过程中,yield语句会把你需要的值返回给调用生成器的地方,然后退出函数,下一次调用生成器函数的时候又从上次中断的地方开始执行,而生成器内的所有变量参数都会被保存下来供下一次使用。