Python装饰器模拟京东登陆

#_author:"zhengly"
#date:2018/6/6
'''装饰器应用之登录'''
'''装饰器'''
#账号密码
username,password='zheng','123'
login_status = False
def auth(authType):
    def login(f):
        def inner():
            global login_status
            if login_status is False:
                username1=input("username1:")
                password1=input("password1:")
                if authType == 'jingdong':
                    print("欢迎使用京东登陆")
                    if username1 == username and password1 == password:
                        print("Welcome To JD!!")
                        f()
                        login_status = True
                    else:
                        print("login error!!")
                elif authType == 'weixin':
                    print("欢迎使用微信登陆")
                    if username1 == username and password1 == password:
                        print("Welcome To JD!!")
                        f()
                        login_status = True
                    else:
                        print("login error!!")
            else:
                f()
        return inner
    return login

@auth('jingdong')
def home():
    print('Welcome To Home')

@auth('weixin')
def finance():
    print('Welcome To Finance')

@auth('jingdong')
def book():
    print('Welcome To Book')

if __name__ == '__main__':
    s=True
    while(s):
        print('Welcome To JD,please input the page where you want:')
        print('1、Home')
        print('2、Finance')
        print('3、Book')
        print('4、exit')
        page=input('please inpute number:')
        if(page == '1'):
            home()
        elif(page == '2'):
            finance()
        elif(page == '3'):
            book()
        elif(page == '4'):
            login_status == False
            s = False
            print("欢迎下次再来")

猜你喜欢

转载自blog.csdn.net/zly412934578/article/details/80614687