博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day14 装饰器模拟验证附加功能
阅读量:6824 次
发布时间:2019-06-26

本文共 1469 字,大约阅读时间需要 4 分钟。

1 user_list=[ 2     {
'name':'alex','passwd':'123'}, 3 {
'name':'linhaifeng','passwd':'123'}, 4 {
'name':'wupeiqi','passwd':'123'}, 5 {
'name':'yuanhao','passwd':'123'}, 6 ] 7 current_dic={
'username':None,'login':False} 8 9 10 def auth_func(func):11 def wrapper(*args,**kwargs):12 if current_dic['username'] and current_dic['login']:13 res = func(*args, **kwargs)14 return res15 username=input('用户名:').strip()16 passwd=input('密码:').strip()17 for user_dic in user_list:18 if username == user_dic['name'] and passwd == user_dic['passwd']:19 current_dic['username']=username20 current_dic['login']=True21 res = func(*args, **kwargs)22 return res23 else:24 print('用户名或者密码错误')25 26 return wrapper27 28 @auth_func29 def index():30 print('欢迎来到京东主页')31 32 @auth_func33 def home(name):34 print('欢迎回家%s' %name)35 36 @auth_func37 def shopping_car(name):38 print('%s的购物车里有[%s,%s,%s]' %(name,'奶茶','妹妹','娃娃'))39 40 print('before-->',current_dic)41 index()42 print('after--->',current_dic)43 shopping_car(current_dic["username"])44 home('产品经理')45 # shopping_car('产品经理')
1 before--> {
'username': None, 'login': False}2 用户名:alex3 密码:1234 欢迎来到京东主页5 after---> {
'username': 'alex', 'login': True}6 欢迎回家产品经理7 alex的购物车里有[奶茶,妹妹,娃娃]

 

转载于:https://www.cnblogs.com/shijieli/p/9705955.html

你可能感兴趣的文章
java多线程
查看>>
Codevs1029 遍历问题
查看>>
远程连接提示“为Administrator连接到现存会话发生错误(Id 0).操作成功”
查看>>
nginx配置ssl证书
查看>>
fastjson SerializerFeature详解
查看>>
spring源码读书笔记
查看>>
HDOJ-1015 Safecracker 【DFS】
查看>>
读书笔记-->Java经典编程300例--明日科技--清华大学出版社(第一版)
查看>>
如何在存储过程中自动添加分区
查看>>
[并查集] POJ 1611 The Suspects
查看>>
C#设计模式总结
查看>>
团队开发------第一次冲刺第4天
查看>>
R对term进行层次聚类完整实例(tm包)
查看>>
20151124001 关闭C#主窗体弹出是否关闭对话框
查看>>
Excel中添加下拉框
查看>>
12-01JavaScript事件(Events)
查看>>
12-19Windows窗体应用程序之记事本(2)
查看>>
python连接数据库使用SQLAlchemy
查看>>
HAproxy和TIME WAIT的一次问题排查
查看>>
高效运维--数据库坐而论道活动
查看>>