函数闭包为函数加上认证的功能

需求:比如说打开京东的网站,有很多很多功能,购物车啊,订单啊,但是你每打开一个功能,就必须验证你是否登录。(通过装饰器来实现)

def auth_func(func):
    def wrapper(*args,**kwargs):
        username=input("用户名:").strip()       #将字符串的前后的空格都去掉
        password = input("密码:").strip()
        if username=="sb" and password=="123":
            res=func(*args,**kwargs)
            return res
        else:
            print("用户名或密码错误")
    return wrapper

@auth_func
def index():
    print("欢迎来到京东")
@auth_func
def home(name):
    print("欢迎回家%s"%name)
@auth_func
def shopping_car(name):
    print("%s的购物车里有[%s,%s,%s]"%(name,"奶茶","sister","wawa"))
index()
home("产品经理")
shopping_car("产品经理")

猜你喜欢

转载自www.cnblogs.com/yxzymz/p/12787178.html