python-迭代器、生成器
生成器属于迭代器 适合迭代器对象:list、dict、tuple、set、str 不适合迭代对象:int、float、bool 迭代器例子 : a = [0,1,2,3] iter (a) # 用 iter ()方法生成迭代对象 print( next (a)) #用 next 来查询,直到超范围 判读对象是否符合迭代例子 : from collections import Iterable a = [0,1,2,3] b = 123 print(isinstance(a, Iterable )) #运用isinstance函数来判断,此结果为True,符合迭代 print(isinstance(a, Iterable )) #同上,此结果为Flase,不符合迭代 生成器例子 : a = (i for i in range(1000000)) #想当与列表生成式的[]改成(),此时a的类型为生成器(generator) print(next(a)) #用next()来查询 函数进化成生成器 :(把return改成yield) 例子: def f(n): for i in range(n): yield i print('OKOK')a = f(5) #定义一个变量来接受生成器的返回值print(next(a)) #程序运行达到yield后就会停止,不会往下执行