1、装饰器的作用与运用
1)装饰器本质上是一个 Python 函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能。
2)装饰器的实现是由闭包支撑的,其返回值也是一个函数对象。
3)装饰器经常用于有切面需求的场景,比如插入日志、性能测试、事务处理、缓存、权限校验等。
2、普通装饰器
def warpper(func):
def inner(*args,**kwargs):
print("1")
func(*args,**kwargs)
print("2")
return inner
@warpper
def test():
print(1.5)
test()
3、带参数的装饰器
def my_decorator(param):
def inner_decorator(func):
def wrapped_func(*args, **kwargs):
print(f"参数是: {param}")
result = func(*args, **kwargs)
return result
return wrapped_func
return inner_decorator
@my_decorator("Hello")
def my_function(name):
print(f"Hello, {name}!")
my_function("World")