• Python自定义迭代器对象


    自定义迭代器对象: 在类里面定义__iter____next__方法创建的对象就是迭代器对象
     
     

     iter()函数与next()函数

    1. iter函数: 获取可迭代对象的迭代器,会调用可迭代对象身上的__iter__方法
    2. next函数: 获取迭代器中下一个值,会调用迭代器对象身上的__next__方法
     
     

    for循环的本质

    遍历的是可迭代对象

    迭代器的作用就是是记录当前数据的位置以便获取下一个位置的值

     
    # 自定义迭代器对象: 在类里面定义__iter__和__next__方法创建的对象就是迭代器对象
    class MyIterator(object):
    
        def __init__(self, my_list):
            self.my_list = my_list
    
            # 记录当前获取数据的下标
            self.current_index = 0
    
            # 判断当前对象是否是迭代器
            result = isinstance(self, Iterator)
            print("MyIterator创建的对象是否是迭代器:", result)
    
        def __iter__(self):
            return self
    
        # 获取迭代器中下一个值
        def __next__(self):
            if self.current_index < len(self.my_list):
                self.current_index += 1
                return self.my_list[self.current_index - 1]
            else:
                # 数据取完了,需要抛出一个停止迭代的异常
                raise StopIteration
     
  • 相关阅读:
    RSA使用
    C#获取主机信息
    NSIS打包软件使用
    C#获取局域网主机
    C#实现Web链接启动应用程序
    4.布局介绍
    Server Sql 多表查询、子查询和分页
    C# File类常用方法
    Vue 使用技巧手记
    前端面试题手记
  • 原文地址:https://www.cnblogs.com/lab-zj/p/12166340.html
Copyright © 2020-2023  润新知