装饰器
装饰器是高阶函数,是对传入函数的功能的装饰(增强功能),简化调用,代码降低代码耦合度。
!!注意:使用装饰器时,原函数对象的属性都会被替换,如果要查看被封装函数的属性,要进行原函数属性的恢复,可以使用python库中functools函数恢复。(下面也有自己试手的解法)
无参装饰器
高阶函数,函数作为它的形参,返回值也是一个函数。
无参装饰器举例
打印100000以内数的累加和,并显示运行时间。
rom datetime import datetime
def wapper(f):
def _wapper(*args):
now=datetime.now().timestamp()
result=f(*args)
delta= datetime.now().timestamp()-now
print(delta)
return result
return _wapper
@wapper<<<<<<<<<<<<<<<<<<<<<<装饰器语法糖####等价于add=wapper(add)
def add(n):
aa=0
for i