使用 `yield` 可以很方便地实现斐波那契数列的生成器,代码如下:
```python
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))
```
在这个示例中,我们定义了一个名为 `fibonacci()` 的生成器函数。在函数内部,我们使用两个变量 `a` 和 `b` 来保存斐波那契数列中的前两个数,然后使用 `while` 循环不断生成下一个数,并将其通过 `yield` 返回给调用者。
在测试代码中,我们创建了一个名为 `fib` 的生成器对象,并使用 `next()` 函数逐个获取斐波那契数列中的前十个数。由于生成器是惰性求值的,因此只有在需要时才会计算下一个数,从而避免了一次性计算所有数所带来的内存和计算资源浪费。