在Python中,__next__
方法是一个特殊方法,它用于实现迭代器协议。当一个对象定义了 __next__
方法时,这个对象就变成了一个迭代器。迭代器允许你在一个序列(比如列表、元组或集合)或其他可迭代对象上进行迭代,每次调用 __next__
方法时,它都会返回序列中的下一个元素。
当你使用 for
循环或内置的 next()
函数时,实际上就是在调用迭代器对象的 __next__
方法。当迭代完成时,__next__
方法应该引发一个 StopIteration
异常来通知调用者没有更多的元素可以迭代了。
这里是一个简单的例子,展示了如何定义一个包含 __next__
方法的类来实现一个迭代器:
class MyIterator:
def __init__(self, data):
self.data = i