python-装饰器初解

# 装饰器的作用
# 不想修改函数的调用方式( func() 还是这样调用),但是还想再原来函数前后添加功能
# timer() 就是一个装饰器函数,只对一个函数,有一些装饰作用

import time
def func():   
    time.sleep(3)
    print('这是一个函数执行的内容')

def timer(f):   #  这是一个装饰器函数
    def inner():
        start = time.time()
        f()     # 被装饰的函数
        end = time.time()
        print('函数执行了%d秒' %(end-start) )
    return inner
func = timer(func)
func() # 函数调用方法没有被改变

 这个timer函数就是为了实现 计算func()函数运行用了多少时间而存在的

装饰器的原则:

    开放封闭原则

      开放:对扩展是开放的

      封闭:对修改时封闭的

 

  

posted @ 2018-10-02 15:01  张志飞  阅读(110)  评论(0)    收藏  举报