
生成器函数是一种特殊的函数,可以在迭代过程中动态生成值,而不是一次性返回所有值。它的作用有以下几点:
生成器函数使用yield语句来生成值,每次调用生成器函数时,执行到yield语句时会返回一个值,并暂停函数的执行,等待下一次调用。使用生成器函数的步骤如下:
例如,下面是一个生成斐波那契数列的生成器函数的示例:
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
# 调用生成器函数
fib = fibonacci()
# 迭代生成器对象
for i in range(10):
print(next(fib))输出结果为:
0
1
1
2
3
5
8
13
21
34在上面的示例中,生成器函数fibonacci()使用yield语句在每次迭代时生成一个斐波那契数列的值,并通过next()函数迭代生成器对象fib来获取值。