zoukankan      html  css  js  c++  java
  • 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()
    
    
     
    
  • 相关阅读:
    c++运算符重载
    c++ const_cast
    SHL
    C++拷贝构造函数(深拷贝,浅拷贝)
    ps命令详解
    static 修饰符
    “宝洁八大问”整理篇
    linux grep命令
    C++操作符重载
    linux中删除指定日期之前的文件
  • 原文地址:https://www.cnblogs.com/whzym111/p/5786649.html
Copyright © 2011-2022 走看看