修饰器——含修饰器(对比无修饰器的优点)

 
#author: MR_luo
#data 2019.8.20

import time


#装饰器函数
def show_time(f):
    def inner():
        start=time.time()
        f()         #注意闭包
        end = time.time()
        print ('spend %s'% (end-start))

    return inner


#原功能函数
@show_time        #bar=show_time(bar)
def bar():
    print('bar....')
    time.sleep(3)

@show_time        #foo=show_time(foo)
def foo():
    print('foo....')
    time.sleep(3)
    
bar()
foo()
输出:
bar....
spend 3.0002379417419434
foo....
spend 3.000044107437134
改进:

1.原先函数简化了。

2.原先函数中重复的部分被修饰器给替代。

 

 

 

 

你可能感兴趣的:(修饰器——含修饰器(对比无修饰器的优点))