普通实现
def fibonf(n):
a=b=1
c=[]
for i in range(n):
c.append(a)
a,b=b,a+b
return c
print(fibonf(10))
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
生成器
def fibon(n):
a=b=1
for i in range(n):
yield a #与上一个例子的c.append(a)位置一样
a,b=b,a+b
for x in fibon(10):
print(x)
1
1
2
3
5
8
13
21
34
print(fibon(10))
print(type(fibon(10)))
<generator object fibon at 0x000002E72EFFF750>
'表明返回一个generator对象在内存的0x000002E72EFFF750'
<class 'generator'>
'说明是generator发生器'类