生成器

Posted zhowhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了生成器相关的知识,希望对你有一定的参考价值。

生成器:在调用是才生成相应的数据,只记录当前的位置,只有一个__next__()方法

简单生成器:

a=[i*2for i in range(10)]# 列表生成式
print(a) #打印是列表
b=(i*2for i in range(10))#生成器表达式
print(b) #打印是当前位置
print(b.__next__()) #用__next__方法取下一个数据,位置移动到下一位
print(b.__next__()) #用__next__方法取下一个数据,位置移动到下一位
for i in b: #可用for循环取出所有数,从当前位置开始
print(i)

yied可以把一个函数变成生成器
def fib(max):
n,a,b=0,0,1
while n<max:
#print(b)
yield b
a,b=b,a+b
n+=1
return ‘done‘


f=fib(10)
print(‘_________‘)
print(f.__next__())
print(f.__next__())
print(‘_________‘)
print(f.__next__())

以上是关于生成器的主要内容,如果未能解决你的问题,请参考以下文章

Apollo Codegen 没有找到生成代码的操作或片段

前端开发工具vscode如何快速生成代码片段

前端开发工具vscode如何快速生成代码片段

vscode代码片段生成vue模板

VS Code配置snippets代码片段快速生成html模板,提高前端编写效率

vs 2010代码片段