装饰器

  1. 云栖社区>
  2. 博客>
  3. 正文

装饰器

陈天刚 2018-05-15 00:10:05 浏览878
展开阅读全文
# 装饰器的本质:  闭包函数
# 功能:  就是在不改变原函数调用方式的情况下,在这个函数前后加上扩张功能
def timemer(func):
    def inner(*args,**kwargs):
        '''添加函数调用之前的扩展代码'''
        ret = func(*args,**kwargs)
        '''添加函数调用之后的扩展代码'''
        return ret
    return inner
# 设计模式 原则 开放封闭原则
# 对扩展是开放的
# 对修改是封闭的

import time
def wrapper(func): #装饰
    def inner(*args,**kwargs):
        start = time.time()
        ret = func(*args,**kwargs)
        end = time.time()
        print(end - start)
        return ret
    return inner
@wrapper    #语法糖
def lll():
    time.sleep(0.1)
    print('hello')

lll()
---
hello
0.10107421875

网友评论

登录后评论
0/500
评论