自学内容网 自学内容网

简单的迭代器

简单的迭代器

下面是一个简单的 Python 迭代器示例。这个迭代器实现了一个整数序列,它会从给定的 start 值开始,每次迭代返回下一个整数,直到达到 stop 值为止。

迭代器示例:整数序列迭代器

class Count:
    def __init__(self, start, stop):
        """初始化迭代器,定义开始和结束值"""
        self.current = start  # 当前值
        self.stop = stop  # 结束值

    def __iter__(self):
        """返回迭代器本身"""
        return self

    def __next__(self):
        """返回当前值并将 current 增加 1,直到达到 stop"""
        if self.current >= self.stop:
            raise StopIteration  # 如果到达结束值,停止迭代
        self.current += 1  # 增加当前值
        return self.current - 1  # 返回当前值

# 使用示例
counter = Count(0, 5)  # 创建从 04 的计数器
for num in counter:
    print(num)

代码解释:
init:初始化方法,定义了 start 和 stop 参数,表示序列的起始值和结束值。
iter:该方法返回迭代器本身,这使得 Count 类成为一个迭代器对象。
next:该方法每次被调用时返回一个新的值,并且在值达到 stop 后抛出 StopIteration 异常,告诉迭代器已经完成。
StopIteration:这个异常是告诉 Python 迭代器已结束的标准方式。

在 Python 中,iter() 方法是用来返回一个迭代器对象的。在迭代开始时,for 循环会自动调用 iter(),并且返回一个可迭代对象(即迭代器本身)。之后,for 循环会多次调用 next() 来获取每个元素。

内存效率:

迭代器可以大大节省内存,尤其是在处理大型数据时。因为它们不需要把整个数据集加载到内存中,而是一个一个地生成和返回数据。


原文地址:https://blog.csdn.net/weixin_50993868/article/details/143743380

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!