生成器迭代器可迭代对象
时间: 2023-11-20 08:06:20 浏览: 96
可迭代对象,生成器,迭代器
生成器、迭代器和可迭代对象是Python中非常重要的概念,它们在迭代过程中起到了不同的作用。
- 可迭代对象(Iterable):指的是可以使用for循环进行遍历的对象,例如列表、元组、字符串等。可以通过内置函数isinstance()来判断一个对象是否是可迭代对象。
- 迭代器(Iterator):指的是可以被next()函数调用并不断返回下一个值的对象,直到没有更多元素时抛出StopIteration异常。可以通过内置函数isinstance()来判断一个对象是否是迭代器。
- 生成器(Generator):是一种特殊的迭代器,它可以通过函数和yield关键字来创建。生成器可以像迭代器一样使用next()函数获取下一个值,但是生成器的实现更加优雅和高效。
下面是一个生成器的例子,它可以生成斐波那契数列:
```python
def fib(n):
a, b = 0, 1
for i in range(n):
yield b
a, b = b, a + b
# 使用生成器输出斐波那契数列的前10个数
for num in fib(10):
print(num)
```
输出结果为:1 1 2 3 5 8 13 21 34 55
阅读全文