python_装饰器

第一步
def demo(func):
    def inner():
        print ('111111')
        func()
    return inner

@demo
def home():
    print ('home')

home()
def book():
    print ('book')


def  finance():
    print('finance')
最简单的装饰器

第二步
user, passwd  = 'yang', '123456'
flag = False

def demo(func):
    def inner():
        global flag
        if flag == False:
            user_1 = input('please your name: ')
            passwd_1 = input('please your passwd: ')
            if user_1 ==  user and passwd_1 == passwd:
                flag = True
                print ('登录成功')
                func()
            else:
                print ('登录失败')
        elif flag == True:
            func()
    return inner

@demo
def home():
    print ('home')
@demo
def book():
    print ('book')
home()
book()
账号密码只认证一次

第三步
user, passwd  = 'jd', 'jd123456'    #JD账号
user1, passwd1= 'wx', 'wx123456'   #wx账号
flag = False

def args1(auth ='jd'):
    if auth =='jd':
        def demo(func):
            def inner():
                global flag
                if flag == False:
                    user_jd = input('please your name: ')
                    passwd_jd = input('please your passwd: ')
                    if user_jd ==  user and passwd_jd == passwd:
                        flag = True
                        print ('登录成功')
                        func()
                    else:
                        print ('登录失败')
                elif flag == True:
                    func()
            return inner
        return demo
    elif auth == 'wx':
        def demo(func):
            def inner():
                global flag
                if flag == False:
                    user_wx = input('please your name: ')
                    passwd_wx = input('please your passwd: ')
                    if user_wx == user1 and passwd_wx == passwd1:
                        flag = True
                        print('登录成功')
                        func()
                    else:
                        print('登录失败')
                elif flag == True:
                    func()
            return inner
        return demo


@args1()
def home():
    print('home')

@args1()
def book():
    print('book')


home()
book()
支持不同平台账号密码登录(wx or jd)

 






转载于:https://www.cnblogs.com/augustyang/p/8268087.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值