# 生成一个斐波那契数列
# 用迭代器的方法实现
list = [1, 2, 3, 4]
list = iter(list)
class Fibonacci(object):
def __init__(self, num):
self.a = 0
self.b = 1
self.current_index = 0
self.num = num
def __iter__(self):
return self
def __next__(self):
if self.current_index < self.num:
result = self.a
self.a, self.b = self.b, self.a + self.b
self.current_index += 1
return result
else:
# 数据取完了,需要抛出一个停止迭代的异常
raise StopIteration
print(Fibonacci(10))
print(list)
print(list.__next__())
print(list.__next__())
print(list.__next__())
print('--------------------')
for i in Fibonacci(10):
print(i)
Python:迭代器实现斐波那契数列
最新推荐文章于 2023-07-28 19:18:35 发布