装饰器随笔

2018-09-30  本文已影响0人  Rooooooooong

高阶函数:在python中我们可以把函数视作变量去调用。而这种调用别的函数的函数就称为高阶函数。

def add(f1,f2):
    return f1+f2

装饰器:在代码运行期间增强代码的功能,但是又不改变原函数的操作就叫做装饰器。(本质上是高阶函数)

不需要传参的装饰器

def log(func):
    def wrapper(*args,**kw):
        from datetime import datetime
        t1 = datetime.now()
        print('begin')
        out = func(*args,**kw)
        t2 = datetime.now()
        dt = (t2-t1).total_seconds()
#         print('%s executed in %s ms' % (func.__name__, dt))
        print('end')
        return out
    
    return wrapper
@log
def _now():
    print('2991-19-10')
_now()

结果

 >>>
 begin
 2991-19-10
 end
 >>>

需要额外传参的装饰器
待续

上一篇下一篇

猜你喜欢

热点阅读