Python基础12-装饰器
Posted josie930813
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础12-装饰器相关的知识,希望对你有一定的参考价值。
#用修饰器模拟验证功能 user_list=[ {‘user‘:‘alex‘,‘passwd‘:‘123‘}, {‘user‘:‘justin‘,‘passwd‘:‘123‘}, {‘user‘:‘balley‘,‘passwd‘:‘123‘} ] user_tag = {‘username‘:None,‘login‘:False} def login(func): def wrapper(*args,**kwargs): if user_tag[‘username‘] and user_tag[‘login‘]: res = func(*args,**kwargs) return res name = input(‘请输入用户名:‘).strip() passwd = input(‘请输入您的密码:‘).strip() for name_dic in user_list: if name_dic[‘user‘]==name and name_dic[‘passwd‘]==passwd: #记住登录状态,调用其他函数时不用再重新登录 user_tag[‘username‘] = name_dic[‘user‘] user_tag[‘login‘] = True res = func(*args, **kwargs) return res else: print(‘用户名或账号密码错误‘) return wrapper @login #相当于home = login(home) def home(name,x=‘!!!‘): print(‘亲爱的%s:欢迎回家%s‘ %(name,x)) @login def buycar(): print(‘这是你的购物车‘) @login def order(): print(‘这是你的订单‘) home(‘alex‘,x=‘!‘) buycar() 输出结果: 请输入用户名:alex 请输入您的密码:123 亲爱的alex:欢迎回家! 这是你的购物车
以上是关于Python基础12-装饰器的主要内容,如果未能解决你的问题,请参考以下文章