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()


 

 

posted @ 2016-08-19 10:31  whzym111  阅读(203)  评论(0编辑  收藏  举报