装饰器随笔
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
>>>
需要额外传参的装饰器
待续