python基础学习1-迭代器

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#自定义迭代器 需要 重写 __iter__()和__next__() 两个魔法方法

class Fibs:
  def __init__(self,value): #value 设置最大值
      self.value=value
      self.a=0
      self.b=1

  def __iter__(self):
      return  self
  def __next__(self):
      self.a=self.b
      self.b=self.a+self.b
      if self.a <self.value:
          return  self.a
      else:
          raise  StopIteration



fi = Fibs(30); #小于30的
for i in fi:
    print(i)

 

posted @ 2016-08-30 17:42  whzym111  阅读(91)  评论(0编辑  收藏  举报