装饰器
将原函数封装到另外一个函数里边
def time_cont(unc):
def time1(*args,**kwargs):
import time
start=time.time()
unc(*args,**kwargs)
end=time.time()
print(end-start)
return time1
def func(f,n=3,a=0,b=1):
if f==1:return a
if f==2:return b
if n>=f:
return a+b
r=func(f,n=n+1,a=b,b=a+b)
return r
def fib(n):
if n==1:
return 0
if n==2:
return 1
else:return fib(n-1)+fib(n-2)
@time_cont
def main1():
ret=fib(36)
print(ret)
@time_cont
def main2():
ret = func(200)
print(ret)
main2()
main1()
两种方法性能比较