标签:基础 put 功能 方式 soft ret 装饰器 login code
#用修饰器模拟验证功能 user_list=[ {‘user‘:‘alex‘,‘passwd‘:‘123‘}, {‘user‘:‘justin‘,‘passwd‘:‘123‘}, {‘user‘:‘balley‘,‘passwd‘:‘123‘} ] user_tag = {‘username‘:None,‘login‘:False} def login(func): def wrapper(*args,**kwargs): if user_tag[‘username‘] and user_tag[‘login‘]: res = func(*args,**kwargs) return res name = input(‘请输入用户名:‘).strip() passwd = input(‘请输入您的密码:‘).strip() for name_dic in user_list: if name_dic[‘user‘]==name and name_dic[‘passwd‘]==passwd: #记住登录状态,调用其他函数时不用再重新登录 user_tag[‘username‘] = name_dic[‘user‘] user_tag[‘login‘] = True res = func(*args, **kwargs) return res else: print(‘用户名或账号密码错误‘) return wrapper @login #相当于home = login(home) def home(name,x=‘!!!‘): print(‘亲爱的%s:欢迎回家%s‘ %(name,x)) @login def buycar(): print(‘这是你的购物车‘) @login def order(): print(‘这是你的订单‘) home(‘alex‘,x=‘!‘) buycar() 输出结果: 请输入用户名:alex 请输入您的密码:123 亲爱的alex:欢迎回家! 这是你的购物车
标签:基础 put 功能 方式 soft ret 装饰器 login code
原文地址:https://www.cnblogs.com/josie930813/p/9680877.html