user_dict = {'username':None,'login':False} #想不不修改调用方式的情况下加上验证的功能 def auth_func(func): def wrapper(*args,**kwargs): if user_dict['username'] and user_dict['login']: res =func(*args,**kwargs) return res else:#这里else可以不需要 username = input("请输入用户名:").strip() passwd = input("请输入密码:").strip() if username =="sb" and passwd =='123': res = func(*args,**kwargs) user_dict["username"] = username user_dict["login"] = True #return res else: print("用户名或密码错误") return wrapper @auth_func def index(): print("欢迎来到京东首页") @auth_func def home(name): print("%s欢迎回家"%name) @auth_func def shopping_car(): print("您的购物车空空如也") @auth_func def order(): print("还没有下任何订单") index() #这里实现了验证功能,但是要实现其他功能时,还需要再次验证,用全局变量来模拟 home("张铭")
验证登陆来练习装饰器
最新推荐文章于 2022-06-02 14:23:42 发布