class IterClass():
def __init__(self):
self.index = 0
def __iter__(self):
print("+++")
return self
# def __next__(self):
# value = self.index
# print("---")
# self.index +=1
# return value
bb = IterClass()
for i in bb:
if i >5:
raise StopIteration
print(i)
#
# for i in range(5):
# print(next(bb))
###结论:
(1)能被for循环的对象,里面一定有__iter__和 __next__两种方法,该对象被for循环时,会优先执行__iter__里面的内容,再循环执行__next__里面的内容
(2)能被next调用的对象,里面一定有__next__方法,__iter__方法是否具有不能确定