什么是装饰器
装饰器是一个函数,顾名思义,它的作用是装饰,当它装饰一个函数时,可以为其增加新功能,而不用改动原函数,从而提高代码的可读性和重用性。
本质上,装饰器是一个返回函数的高阶函数,高阶函数是指接收函数作为参数的函数。
定义一个名为decorator的装饰器
1 | def decorator(f): |
使用装饰器装饰函数
把函数名重新绑定到可调用的decorator的返回结果上
1
2
3 def foo():
print("I'm foo")
foo = decorator(foo)
等价于1
2
3
def foo():
print("I'm foo")
调用装饰后的函数
1 | >>>foo() |