|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- class Fibs:
- def __init__(self):
- self.a=0
- self.b=1
- def __iter__(self):
- return self
- def __next__(self):
- self.a=self.b
- self.b=self.a+self.b
- return self.a
- fibs=Fibs()
- for each in fibs:
- if each <20:
- print each
- else:
- break
复制代码
for each in fibs:报错显示 TypeError: instance has no next() method
我用下面的代码测试了fibs是不是可迭代对象:
from collections import Iterable
isinstance(fibs,Iterable)
返回值为True,说明fibs是可迭代对象。但是执行时,又显示实例对象fibs没有next()方法!
(1)这是为什么呢?
(2)要怎么改呢?
备注:我是python2.7,小甲鱼的课堂例题中代码和我给出的代码是一样的,没有报错!
求大神赐教!只撂下一句换版本的就请您别说了,我知了但我还是想知道为什么这个不行啊~~~~ |
|