生成器: 可以看成一个可以存储多个数据的容器。需要里面的数据的时候就生成一个,里面的数据只能从前往后,一个一个生成,不能跳跃,不能后退,生成的数据不能再次生成
使用 生成器.__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__()来获取其中的数据,且每次只能获取一个数据,切是有记忆的获取,只能按顺序获取每个数据,不能跳过,不能回退,不能获取已经被取到过的数据
网友评论