zoukankan      html  css  js  c++  java
  • decorator高潮版

    import time

    user,passwd = 'zaizai','abc123'

    def auth(auth_type):

          print("auth func:",auth_type)

          def outer_wrapper(func):

                 def wrapper(*args,**kwargs)

                       print("wrapper func args:",*args,**kwargs)

                       if auth_type == "local":

                          username = input("Username:").strip()

                          password = input("Password:").strip()

                          if user == username and passwd == password:

                                 print("User has passed authtication")

                                 res = func(*args,**kwargs)

                                 return res

                           else:

                                  exit("Invalid username or password")

                       elif auth_type == "ldap"

                               print("搞毛线ldap")

                 return wrapper      

          return outer_wrapper

    def index():

          print("welcome to index page")

    @auth(auth_type"local") 

    def home():

          print("welcome to home page")

          return "from home"

    @auth(auth_type="ldap")

    def bbs():

          print("welcome to bbs page")

    index()

    print(home())

    bbs()

  • 相关阅读:
    转-jsonp和jsonpcallback的使用
    转-jQuery jsonp跨域请求
    转-彻底弄懂JS的事件冒泡和事件捕获
    转-打造自己的js类库
    (转)JavaScript: 零基础轻松学闭包(1)
    Myslq 之主键
    Myslq 之空值与非空
    Myslq 之记录查找
    Myslq 之插入记录
    Myslq 之查看数据表
  • 原文地址:https://www.cnblogs.com/zaizaiaipython/p/7819546.html
Copyright © 2011-2022 走看看