验证功能的装饰器

#每执行一次函数,都要验证一下用户名和密码。
#先写出index(), home(name), shopcar(name)的函数
#然后再写出装饰器,装饰器在执行之前需要判断用户和密码

def jd(yonghu):
def gou(*args,**kwargs):
username = input('用户名: ').strip()
passwd = input('密码: ').strip()
if username == 'doudou' and passwd == '123' :
u = yonghu(*args,**kwargs)
return u
else:
print('用户名或密码错误')
return gou

@jd
def index():
print('欢迎来到京东')
@jd
def home(name):
print('欢迎回家 %s'%name)
@jd
def shopcar(name):
print('%s的购物车里有[%s,%s,%s]' %(name,'奶茶','妹妹','wawa'))

index()
home('doudou')
shopcar('chouchou')
原文地址:https://www.cnblogs.com/lhqlhq/p/8746292.html