• 一个简单的登录


    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('小张')
  • 相关阅读:
    十大排序算法之选择排序(2)
    十大排序算法之冒泡排序(1)
    2018年年度总结
    敏捷软件开发学习笔记(四)之结构型设计模式
    敏捷软件开发学习笔记(三)之创造型设计模式
    elasticsearch+head+kibana
    闭包函数延迟绑定问题
    初谈dango的post提交csrf设置和文件上传
    浏览器的同源策略,及如可跨域
    socket并发通信的几种方式
  • 原文地址:https://www.cnblogs.com/majunBK/p/10892586.html
Copyright © 2020-2023  润新知