python3函数迭代器-创新互联

迭代器协议:

创新互联是一家专注于成都网站设计、成都网站制作与策划设计,罗湖网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:罗湖等地区。罗湖做网站价格咨询:18980820575

迭代器协议,是指对象(实例)能够使用next函数获取下一项数据,在没有下一项数据之前触发一个StopIteration异常来终止迭代

next(it)  对应__next__(self)方法

iter(obj) 对应__iter__(self)方法,通常返回一个可迭代对象

class odd:

  def __init__(self,begin,end):

    self.beg = begin

    self.end = end

    self.cur = begin  #数据的当前位置

  def __next__(self):

    """print("next被调用")"""

    if self.cur >= self.end:

      raise StopIteration

    #此判断获取一个奇数,

    if self.cur % 2 == 0:

      self.cur += 1

    r = self.cur

    self.cur += 1  #步长

    return r

  def __iter__(self):

    """__iter__被调用,返回自己作为迭代器,每次返回一个可迭代对象,调用一次__iter__"""

    self.cur = self.beg

    return self

o = odd(5,10)

for x in o:

  print(x)

print([x for x in o])

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章题目:python3函数迭代器-创新互联
新闻来源:http://ybzwz.com/article/jjods.html