zoukankan      html  css  js  c++  java
  • 装饰器

    1

    #!/usr/bin/env python3
    # _*_ coding:utf-8 _*_
    
    login_status=0
    
    def login(arg):
        def wrapper(fun1):
            def inner(k1):
                global login_status
                if login_status==0:
                    username = input('username: ')
                    password = input('password: ')
                    if arg=='web':
                        if username=='a' and password=='a':
                            login_status=1
                        else:
                            print("login error")
                            return 0
                    elif arg=='weixin':
                        if username=='b' and password=='b':
                            login_status=1
                        else:
                            print('login error')
                            return 0
                elif login_status==1:
                    pass
                print('in decorater...')
                fun1(k1)
            return inner
        return wrapper
    
    
    
    @login('web')
    def index(url):
        print('in index/%s'%url)
    
    @login('weixin')
    def pay(url):
        print('in pay/%s'%url)
    
    
    while True:
        choice=input('select 123:
    ')
        choice_dict={'1':index,'2':pay}
        choice_dict.get(choice)('abc')
  • 相关阅读:
    线段树(已修改+补题
    畅通工程
    线段树
    charles
    flash
    mysql node pool
    node简单操作mysql的类
    小于任意数字的随机数
    文件系统的移植
    驱动
  • 原文地址:https://www.cnblogs.com/infaaf/p/9186983.html
Copyright © 2011-2022 走看看