python练习笔记——编写一个装饰器,模拟登录的简单验证

编写一个装饰器,模拟登录的简单验证(至验证用户名和密码是否正确) 如果用户名为 root 密码为 123则正确,否则不正确。如果验证不通过则不执行被修饰函数

#编写一个装饰器,模拟登录的简单验证
#只验证用户名和密码是否正确,如果用户名为 root 密码为 123 则正确,否则不正确

def test1(func):
    def test2(root,key):
        if root == "root" and key ==123:
            print("您的用户名和密码输入正确")
        else:
            print("您的用户名或密码输入错误")
    return test2


@test1
def test3(root,key):
    pass

test3("root",1234)

运行

您的用户名或密码输入错误

 


 

增加与客户交流对话

def test1(func):
    def test2():
        root = input("请输入您的用户名:")
        key = input("请输入您的密码:")
        if root == "root" and key =="123":
            print("您的用户名和密码输入正确")
        else:
            print("您的用户名或密码输入错误")
    return test2

@test1
def test3():
    pass

test3()

 


 

 

def auth(func):
    def wrapper(*args,**kwargs):
        name = input("Your name >>").strip()
        password = input("Your password >>").strip()
        if name == 'root' and password == '123':
            func(*args,**kwargs) 
    return wrapper 

@auth
def log(name):
    print('欢迎登录:%s'%name)

log('root')

 

你可能感兴趣的:(python)