迭代器:
一个包含__iter__() 和 next() 方法的类。其中__iter__() 返回的是类自身,next() 是控制迭代器的标签,即控制迭代次数,当超出迭代次数时抛错。
使用迭代器实现兔子繁殖的问题:
class Rabbit(object):
def __init__(self, month):
self.month = month
self.month1 = 0 #前第一个月的数量
self.month2 = 1 #前第二个月的数量
self.num = 1 #计数
def __iter__(self):
return self
def __next__(self):
if self.num > self.month:
raise StopIteration
else:
self.num += 1
self.month2, self.month1 = self.month1, self.month1 + self.month2
return self.month1
for i in Rabbit(10):
print(i)
运行结果:
1
1
2
3
5
8
13
21
34
55