python迭代器应用之输出斐波拉契数列
python迭代器应用之输出斐波拉契数列
迭代器优点:占用空间小
# -*- coding:UTF-8 -*-
from collections import Iterable,Iterator
import time
class Fibonacci(object):
def __init__(self,all_num):
self.all_num = all_num
self.current_num = 0
self.a = 0
self.b = 1
def __iter__(self):
return self #返回自己
def __next__(self):
if self.current_num < self.all_num:
ret = self.a
self.a,self.b = self.b,self.a+self.b
self.current_num += 1
return ret
else:
raise StopIteration
fibo = Fibonacci(10)
for num in fibo:
print(num)
time.sleep(1)


浙公网安备 33010602011771号