python 可迭代对象

  • 可迭代对象
    是指实现了内置的iter方法的对象

  • 迭代器(iterator)
    那么什么迭代器呢?它是一个带状态的对象,他能在你调用 next() 方法的时候返回容器中的下一个值,任何实现了 next() (python2中实现 next() )方法的对象都是迭代器,至于它是如何实现的这并不重要。

  • 注意:一个对象既可以是迭代器也可以是可迭代对象
    实例:

    class Fib:
        def __init__(self):
          self.prev=0
          self.curr=1
    
      def __iter__(self):
          return self
      def __next__(self):
           value=self.curr
          self.curr+=self.prev
          self.prev=value
          return value
    

也可以用生成器来实现

 class FloatRange:
       def __init__(self,start,end,step):
        self.start=start
        self.end=end
         self.step=step
    #正向迭代
    def __iter__(self):
        t=self.start
        while t<=self.end:
            yield t
            t+=self.step
     #反向迭代
    def __reversed__(self):
        t=self.end
        while t>=self.start:
            yield t
            t-=self.step
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容