【1.53】装饰器验证--京东实验

yonghu = [
    {"name":"产品经理","passwrd":123},
    {"name":"产品经理1","passwrd":123},
    {"name":"产品经理2","passwrd":123},
    {"name":"产品经理3","passwrd":123},
    {"name":"产品经理4","passwrd":123}
]

usr_dict ={"name":None,"login_stat":False}
def  auth_func(func):
    def wrapper(*args,**kwargs):
        if usr_dict["login_stat"] == False:
            name = input("用户名:").strip()
            passwrd = input("密码:").strip()
            for i in yonghu:
                if i["name"]==name and str(i["passwrd"])==passwrd:
                    usr_dict["login_stat"]=True
                    usr_dict["name"]=name
                    print("登陆成功")
                    res = func(*args,**kwargs)
                    print (res)
                    return res
            else:
                print("用户名密码有误")
        else:
            res = func(*args, **kwargs)
            print(res)
            return res
    return wrapper




@auth_func
def jd_index():
    return "欢迎来到京东"

@auth_func
def jd_home(name):
    return "欢迎回家%s"%name

@auth_func
def jd_shopping_car(name):
    return "%s购物车[%s,%s]"%(name,"牛奶","面包")

jd_index()
jd_home("产品经理")
jd_shopping_car("产品经理")

 

posted @ 2016-04-15 23:52  科学小怪癖  阅读(70)  评论(0)    收藏  举报