python基础学习1-装饰器在登陆模块应用
LOGIN_USER ={"islogin":False} def outer(func): def inner(*args,**kwargs): if LOGIN_USER["islogin"]: r=func() return r else: print("请先登录") return inner def login(user,pwd): if user=="Alex" and pwd =="123": LOGIN_USER["islogin"]=True \ LOGIN_USER["username"]=user def manager(): #未调用装饰器 需在函数内部 判断是否登陆成功 if LOGIN_USER["islogin"]: print("欢迎登陆%s" %LOGIN_USER["username"]) else: print("请先登录") @outer def order(): #调用装饰器来判断 用户是否已经成功登陆 print("欢迎登陆%s" %LOGIN_USER["username"]) @outer def changepwd():#调用装饰器来判断 用户是否已经成功登陆 print("欢迎登陆%s" %LOGIN_USER["username"]) def main(): while True: print("1-管理界面") print("2-订单界面") print("3-修改密码界面") t = input("请输入需要进人的界面") user=input("请输入用户名") pwd =input("请输入密码") login(user,pwd) if t=="1": manager() elif t=="2": order() else: changepwd() #主函数调用入口 main()