在不改变原来内部代码的情况下可以增加新功能,符合开闭原则
语法格式:
def 函数装饰器名称(func):
def 内嵌函数(*args,**kwargs):
//需要添加的新功能
return func(*args,**kwargs)
return 内嵌函数
@函数装饰器名称
def 原函数名称():
原函数体
//使用方法:调用之后会被装饰器拦截,直接使用装饰器的函数
原函数名称()
示例代码:
def verify_pwd(func):
def wrapper(*args,**kwargs):
print("验证密码成功")
return func(*args, **kwargs)
return wrapper
@verify_pwd
def deposite(money):
print("存钱%d"% money)
@verify_pwd
def withdraw(login_id,pwd):
print("取钱了",login_id,pwd)