装饰器

# 装饰器的本质:  闭包函数
# 功能:  就是在不改变原函数调用方式的情况下,在这个函数前后加上扩张功能
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
上一篇:10 个惊艳的 CoffeeScript 单行代码


下一篇:字符串格式化(百分号)