最近在读《Python高级编程》(Ziade著),看到里面的自我设计的迭代器:
自己写的:
class MyIter:
def __init__(self,step):
self.step=step
def __iter__(self):
return self
def next(self):
if self.step==0:
raise StopIteration
self.step-=1
return self.step
for i in MyIter(5):
print(i)
跑的时候报错:
TypeError: iter() returned non-iterator of type ‘xxx’
因为我用的是Python3,所以next应该是__next__
,改了之后就正常了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)