斐波那契数列实现(魔法方法__call__())
斐波那契数列即著名的兔子数列:1、1、2、3、5、8、13、21、34、……
数列特点:该数列从第三项开始,每个数的值为其前两个数之和,用python实现起来很简单:
class Fibonaci(object):
def __call__(self,num):
a, b = 1, 1
self.num_lst = []
if num <=2:
self.num_lst.append(1)
self.num_lst.appned(2)
else:
for i in range(1,num+1):
self.num_lst.append(a)
a, b = b, a+b
return self.num_lst
def __str__(self):
return str(self.num_lst)
f = Fibonaci()
ret = f(100)
print(ret)