# 装饰器的作用
# 不想修改函数的调用方式( func() 还是这样调用),但是还想再原来函数前后添加功能# timer() 就是一个装饰器函数,只对一个函数,有一些装饰作用import timedef func(): time.sleep(3) print('这是一个函数执行的内容')def timer(f): # 这是一个装饰器函数 def inner(): start = time.time() f() # 被装饰的函数 end = time.time() print('函数执行了%d秒' %(end-start) ) return innerfunc = timer(func)func() # 函数调用方法没有被改变
这个timer函数就是为了实现 计算func()函数运行用了多少时间而存在的
装饰器的原则:
开放封闭原则
开放:对扩展是开放的
封闭:对修改时封闭的