python 可迭代对象

作者: 我的轩辕 | 来源:发表于2017-06-26 21:19 被阅读205次
  • 可迭代对象
    是指实现了内置的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

相关文章

  • 生成器与迭代器

    一:可迭代对象(Iterable) 1、什么叫可迭代对象? 2、python中那些是可迭代对象 二:迭代器(Ite...

  • Python中的可迭代对象和迭代器对象

    Python中的可迭代对象和迭代器对象是两种不同的东西,可迭代对象是Iterable,迭代器对象是Iterator...

  • 17.Python之迭代器

    Python之迭代器 可迭代对象内部含有__iter__方法的对象,称之为可迭代对象。 通过dir()获取一个对象...

  • Python可迭代对象与迭代器详解

    Python可迭代对象与迭代器详解 首先先来了解几个概念 可迭代对象 (Iterable) : 实现了 __ite...

  • Python基础-16生成器-迭代器

    16.生成器-迭代器     可循环迭代的对象称为可迭代对象,迭代器和生成器函数是可迭代对象,在Python中提供...

  • Python迭代器

    Python迭代器 一、可迭代对象 判定对象是否为可迭代对象1.检查对象x是否实现了__iter__()方法,如果...

  • python 迭代器,生成器

    迭代 Python 的迭代是通过for ... in 来完成的。 只要是可迭代对象,都可以用python进行迭代。...

  • Python——迭代器和解析

    迭代器 Python迭代工具包括for循环、列表解析、in成员关系测试以及map内置函数 可迭代对象 可迭代对象就...

  • Python进阶——什么是迭代器?

    Python进阶——什么是迭代器? 在 Python 开发中,我们经常听到有关「容器」、「迭代器」、「可迭代对象」...

  • Python迭代

    在Python里,可迭代对象均可用for循环来遍历。判断一个对象是否是可迭代对象,可用isinstance(xx,...

网友评论

    本文标题:python 可迭代对象

    本文链接:https://www.haomeiwen.com/subject/gyojcxtx.html