装饰器说明
装饰器是一种设计模式,起到装饰的作用。就是在不修改函数代码的情况下,给函数增加一些功能
单个装饰器
def decorator(func):def wrapper(*args, **kwargs):print(f"原函数:{func.__name__} is running")func_result = func(*args, **kwargs)print('原函数执行结果:', func_result)print('原函数已执行完毕')return func_resultreturn wrapper@decorator
def test(c, v, ff):return c + v + ffcc = test(22, 999, ff=33)----------------------------------
原函数:test is running
原函数执行结果: 1054
原函数已执行完毕
同事使用多个装饰器
def decorator(func):def wrapper(*args, **kwargs):print(f"原函数:{func.__name__} is running")func_result = func(*args, **kwargs)print('原函数执行结果:', func_result)print('原函数已执行完毕')return func_resultreturn wrapperdef decorate2(func):def wrapper(*args, **kwargs):print('第二个装饰器')result = func(*args, **kwargs)print('第二个装饰器结束')return resultreturn wrapper# 原函数使用装饰器@decorator
@decorate2
def test(c, v, ff):return c + v + ffcc = test(22, 999, ff=33)
---------------------------------
原函数:wrapper is running
第二个装饰器
第二个装饰器结束
原函数执行结果: 1054
原函数已执行完毕