装饰器

带参装饰器
def login(func):#参数func 就是user_center 这是装饰器必备的

    def inner(name):##这里inner函数带一个参数这叫做带参装饰器
        print(f'{name}  登录成功....')
        res = func(name)#相当于func执行原函数 但user_center相当于inner 不相当于func func仅仅是效果是原函数
        return res

    return inner

# 定义一个函数,这个函数是带有参数
@login #####这行执行等价于 user_center = login(user_center)
def user_center(name):
    return f"欢迎  {name} 进入个人中心"


# 上述的函数中既有参数 又有返回值。
res = user_center("张三")
##执行
user_center("张三")相当于 执行login(user_center("张三"))相当于 执行inner("张三")
print(res)




 

posted @ 2022-04-29 11:17  Dsad123FFFG6645  阅读(30)  评论(0)    收藏  举报