user_dic={'username':None,'login':False} def auth_func(func): def wrapper(*args,**kwargs): if user_dic['username'] and user_dic['login']: #判断用户是否有登录(有用户名且已经登录的情况下直接跳过验证) res=func(*args,**kwargs) return res username=input('请输入你的用户名:').strip() password=input('请输入你的密码:').strip() if username=='xiaoma' and password=='123456': user_dic['username']=username user_dic['login']=True res=func(*args,**kwargs) return res else: print('用户名或密码错误,请重新输入!') return wrapper @auth_func def index(): print('欢迎来到淘宝首页,祝你购物愉快!') @auth_func def home(name): print('欢迎来到个人中心!') @auth_func def shopping_car(name): print('%s的购物车里有[%s,%s,%s]' %(name,'日用品','化妆品','厨卫')) index() home('小马') shopping_car('小马')
user_list=[ {'name':'小张','password':'123'}, {'name':'小黄','password':'123'}, {'name':'小李','password':'123'}, {'name':'小周','password':'123'}, ] current_dic={'username':None,'login':False} def auth_func(func): def wrapper(*args,**kwargs): if current_dic['username'] and current_dic['login']: #判断用户是否有登录(有用户名且已经登录的情况下直接跳过验证) res=func(*args,**kwargs) return res username=input('请输入你的用户名:').strip() password=input('请输入你的密码:').strip() for user_dic in user_list: if username==user_dic['name'] and password==user_dic['password']: current_dic['name']=username current_dic['login']=True res=func(*args,**kwargs) return res else: print('用户名或密码错误!') return wrapper @auth_func def index(): print('欢迎来到华夏家博会首页,祝你购物愉快!') @auth_func def home(name): print('欢迎来到个人中心%s!' %name) @auth_func def shopping_car(name): print('%s的购物车里有[%s,%s,%s]' %(name,'日用品','化妆品','厨卫')) print('before-->',current_dic) index() print('after--->',current_dic) home('小张') shopping_car('小张')