迭代器和生成器

生成器: 可以看成一个可以存储多个数据的容器。需要里面的数据的时候就生成一个,里面的数据只能从前往后,一个一个生成,不能跳跃,不能后退,生成的数据不能再次生成

使用 生成器.__next__()获取生成器的数据

函数声明中有yield关键字,函数就不再是单纯的函数,而是一个生成器

和列表相比,列表存的是实实在在的数据,每个数据都会占用一定的空间

生成器是存数据,存的是产生数据的算法,



if __name__ =='__main__':

x = (i  for i  in range(1,10,2))

# x 是一个生成器,用来产生数据

    print(x)

print(x.__next__())

print(x.__next__())

print("==================================")

print(list(x))



这个例子就是一个生成器,他的作用是按一定规律每次生成一个数据,通过生成器.__next__()来获取其中的数据,且每次只能获取一个数据,切是有记忆的获取,只能按顺序获取每个数据,不能跳过,不能回退,不能获取已经被取到过的数据

你可能感兴趣的:(迭代器和生成器)