跟我一起学pyton-生成器

luckyFang 2021年09月29日 24次浏览

什么是生成器

生成器是一个返回迭代器的函数。

创建生成器

  • 生成器函数 yield
  • 生成器表达式 re=(i for i in ranger(x))

生成器函数

生成器的关键字是 yield,只能在函数中使用,用来取代return

def generate():
    for i in range(1,101):
        yield i

gen = generate()

print(type(gen))

# 可以通过 next 来访问迭代器下一个元素
print(next(gen))
print(next(gen))

<class 'generator'>

1
2

生成器推导式

生成器推导式需要用到 Python中推导式语法糖

re = (i for i in range(5))
print(type(re))

print(next(re))
print(next(re))


<class 'generator'>
0
1

遍历

同样生成器是可以遍历的

re = (i for i in range(5))

for i in re:
    print(i)


0
1
2
3
4