python学习,day4:生成器

1、生成器:只有在调用是才会生成相应的数据。(比较省内存,它只保留当时生成的。而列表会保存整个列表)

 1 a = [i*2 for i in range(10)] #列表生成式

2 print(a) 

这样会把整个列表都生成出来

2、而生成器不会,只记录当前的位置

1 b =(i*2 for i in range(10000))   #生成器
2 for i in b:                   #只显示当前的,之前之后的都不会保留在内存中
3     print(i)

3、只有一个__next__()方法,读取下一个

1 b =(i*2 for i in range(10000))
2 print(i)
3 print(b.__next__())

 

posted @ 2019-02-26 17:14  bbgoal  阅读(119)  评论(0编辑  收藏  举报