【发布时间】:2015-01-30 23:07:16
【问题描述】:
有人可以解释一下为什么下面的代码给出了
TypeError: iter() returned non-iterator of type 'counter' in python 3
这在 python 2.7.3 中运行没有任何错误。
#!/usr/bin/python3
class counter(object):
def __init__(self,size):
self.size=size
self.start=0
def __iter__(self):
print("called __iter__",self.size)
return self
def next(self):
if self.start < self.size:
self.start=self.start+1
return self.start
raise StopIteration
c=counter(10)
for x in c:
print(x)
【问题讨论】:
标签: python python-2.7 python-3.x