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
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容