迭代器和生成器是Python中实现迭代的两种主要方式,它们都允许用户创建可以遍历数据集的对象。在Python中,迭代器协议是指对象需要遵守__iter__()
和__next__()
方法的实现。而生成器则是利用函数来实现迭代的一种更简洁的方式。
1. 迭代器协议
迭代器协议是Python中实现对象迭代的基础。要成为迭代器,任何对象都需要实现两个方法。
__iter__()
方法,它返回迭代器对象本身。
__next__()
方法,它返回迭代器的下一个值。
如果迭代已经到达序列的末端,__next__()
应该抛出一个StopIteration
异常。
代码示例:
class Counter: