博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数闭包模拟session
阅读量:7220 次
发布时间:2019-06-29

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

userlist = [     {'name':'doudou','passwd':'123'},     {'name':'chouchou','passwd':'456'},     {'name':'liuhaiquan','passwd':'789'},     {'name':'liuxue','passwd':'2020'} ] current_list = {'username':None,'login':False} #定义一个空的全局变量 def jingdong(yanzheng):     def yonghu(*args,**kwargs):         if current_list['username'] and current_list['login']: #判断是否已经有用户输入             res = yanzheng(*args,**kwargs)  #运行装饰器             return res         username = input('用户名: ').strip()         passwd = input('密码: ').strip()         for user_dic in userlist:             if username == user_dic['name'] and passwd == user_dic['passwd']:                 current_list['username'] = username                 current_list['login'] = True                 res = yanzheng(*args,**kwargs) #运行装饰器                 return res         else:  #如果for循环结束为止,还是没有验证成功,则打印密码或用户错误             print('用户或密码错误')     return yonghu @jingdong def desk(name):     print('欢迎来到京东 %s' %name) @jingdong def shopcar(name):     print('%s 的购物车里有[%s,%s,%s]' %(name,'水果','饮料','饼干')) @jingdong def mina(name):     print('显示%s的主页' %name) desk('chouchou') shopcar('dd') mina('kl')

转载于:https://www.cnblogs.com/lhqlhq/p/8746682.html

你可能感兴趣的文章
C# 图片处理(压缩、剪裁,转换,优化)
查看>>
Linux bridge-utils tunctl 使用
查看>>
Leetcode Pascal's Triangle II
查看>>
运行shell脚本报错 '\357\273\277': command not found 解决的方法
查看>>
android studio 0.8.1使用和遇到问题解决
查看>>
云服务器ECS选购集锦之六区域选择帮助
查看>>
云虚机选购指南之二云虚拟主机试用帮助文档
查看>>
女友眼中的IT男
查看>>
Excel连接
查看>>
java基础-多线程学习
查看>>
WPF打印原理,自定义打印
查看>>
HTML5 5
查看>>
箭头css
查看>>
Python入门,以及简单爬取网页文本内容
查看>>
顺丰科技笔试回忆
查看>>
excel技巧
查看>>
通用防SQL注入漏洞程序(Global.asax方式)
查看>>
服务器进程为何通常fork()两次
查看>>
python中的logger模块
查看>>
9.3、理解作用域与全局变量
查看>>