python 面对对象 迭代器
时间: 2023-11-23 21:57:57 浏览: 237
面向对象编程(Object-oriented programming,简称OOP)是一种编程范式,它使用“对象”作为基本构建块,将数据和处理数据的函数组合在一起。在Python中,面向对象编程主要包括类(Class)和实例(Instance)的概念。
迭代器(Iterator)是一个可以记住遍历的位置的对象,它从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter() 和 next()。
在Python中,迭代器实现了两个方法:`__iter__()` 和 `__next__()`。`__iter__()` 方法返回迭代器对象本身,`__next__()` 方法返回容器的下一个值。当没有更多元素时,`__next__()` 方法会抛出 `StopIteration` 异常。
下面是一个简单的迭代器示例:
```python
class MyNumbers:
def __iter__(self):
self.a = 1
return self
def __next__(self):
x = self.a
self.a += 1
return x
my_numbers = MyNumbers()
my_iterator = iter(my_numbers)
print(next(my_iterator)) # 输出 1
print(next(my_iterator)) # 输出 2
print(next(my_iterator)) # 输出 3
```
在这个示例中,我们定义了一个名为 `MyNumbers` 的类,它实现了 `__iter__()` 和 `__next__()` 方法。然后我们创建了一个 `MyNumbers` 类的实例 `my_numbers`,并使用 `iter()` 函数获取其迭代器。最后,我们使用 `next()` 函数遍历迭代器并打印出每个元素。
阅读全文