python中生成器函数
时间: 2023-11-03 11:05:57 浏览: 98
python 标准库中的生成器函数
生成器函数是一种特殊的函数,使用 yield 语句来返回一个迭代器对象,可以使用 next() 函数来迭代地获取函数返回的值。生成器函数在需要返回大量数据的时候特别有用,因为它可以逐个生成数据,而不需要一次性将所有数据都生成完毕,从而节省内存空间。
下面是一个简单的生成器函数示例,用于生成斐波那契数列:
```python
def fibonacci():
a, b = 0, 1
while True:
yield a
a, b = b, a + b
```
调用该函数可以得到一个生成器对象,每次调用 next() 函数都会返回斐波那契数列的下一个数:
```python
fib = fibonacci()
print(next(fib)) # 0
print(next(fib)) # 1
print(next(fib)) # 1
print(next(fib)) # 2
print(next(fib)) # 3
```
注意,生成器函数执行时并不会立即执行函数体内的代码,而是在调用 next() 函数时才会执行,执行到 yield 语句时函数会返回当前的值,并暂停执行,等待下一次调用 next() 函数时继续执行。这就是生成器函数的特殊之处。
阅读全文