• 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
     
  • 相关阅读:
    seajs加载angularjs
    seajs加载jquery提示$ is not a function
    java 动态代理
    C#第三章--对象和类
    Android笔记--两种双击退出程序的方法
    Android--Volley基本用法及自定义
    Win10专业版只要12.99元?应用商店Bug福利也算数
    新人报道
    排序

  • 原文地址:https://www.cnblogs.com/lab-zj/p/12166340.html
Copyright © 2020-2023  润新知