python基础学习1-装饰器在登陆模块应用
LOGIN_USER ={"islogin":False}
def outer(func):
   def inner(*args,**kwargs):
      if LOGIN_USER["islogin"]:
          r=func()
          return  r
      else:
          print("请先登录")
    return inner
def login(user,pwd):
  if user=="Alex" and pwd =="123":
  LOGIN_USER["islogin"]=True        \
  LOGIN_USER["username"]=user
def manager(): #未调用装饰器 需在函数内部 判断是否登陆成功
  if LOGIN_USER["islogin"]:
    print("欢迎登陆%s" %LOGIN_USER["username"])
else:
   print("请先登录")
@outer
def order(): #调用装饰器来判断 用户是否已经成功登陆
   print("欢迎登陆%s" %LOGIN_USER["username"])
@outer
def changepwd():#调用装饰器来判断 用户是否已经成功登陆
  print("欢迎登陆%s" %LOGIN_USER["username"])
def main():
   while True:
      print("1-管理界面")
      print("2-订单界面")
      print("3-修改密码界面")
      t = input("请输入需要进人的界面")
      user=input("请输入用户名")
      pwd =input("请输入密码")
      login(user,pwd)
      if t=="1":
        manager()
     elif t=="2":
         order()
     else:
        changepwd()
#主函数调用入口
main()
python基础学习1-装饰器在登陆模块应用的更多相关文章
- python基础-内置装饰器classmethod和staticmethod
		面向对象编程之classmethod和staticmethod classmethod 和 staticmethod都是python内置的装饰器 classmethod 的作用:给在类内部定义的方法装 ... 
- python基础5之装饰器
		内容概要: 一.装饰器前期知识储备 1.python解释函数代码过程: python解释器从上往下顺序解释代码,碰到函数的定义代码块不会立即执行它,而是将其放在内存中,等到该函数被调用时,才执行其内部 ... 
- python基础篇_004_装饰器函数
		python装饰器函数 1.装饰器函数引导 功能:计算函数执行时长 import time """ 方式一: 函数首位添加时间,差值就是函数执行时间 缺点:每个函数都要加 ... 
- Python基础-迭代器&生成器&装饰器
		本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 1.列表生成式,迭代器&生成器 列表生成式 我现在有个需求,看 ... 
- python基础-面向对象(装饰器)
		属性: @property @method_name.setter @method_name.deleter 三个标签都是放在方法的上面来使用,且方法名要和后续使用的 变量名字相一 ... 
- python基础-5.2装饰器
		1.了解装饰器前准备 #### 第一波 #### def foo(): print 'foo' foo #表示是函数,仅指向了函数的地址,为执行 foo() #表示执行foo函数 #### 第二波 # ... 
- python基础之内置装饰器
		装饰器 简介 功能与格式 内置装饰器 @classmethod @propertry @staticmethod 其它 ---------------------------------------- ... 
- python基础--闭包、装饰器
		装饰器的详细使用 (1)小知识点补充 在这里我们先学一个简单的知识点. li = ['alex', '银角', '女神', 'egon', '太白'] for i in enumerate(li): ... 
- 【笔记】Python基础五:装饰器
		一,什么是装饰器 本质就是函数,功能是为其他函数添加附加功能 原则: 1,不修改被修饰函数的源代码 2,不修改被修饰函数的调用方式 例子: import time def timmer(func): ... 
随机推荐
- javascript中return的作用
			这里面的return含有一些细节知识: 例如:onClick='return add_onclick()'与 onClick='add_onclick()'的区别 JAVASCRIPT在事件中调用函数 ... 
- 山寨"每日故宫"应用的图层遮罩效果
			山寨"每日故宫"应用的图层遮罩效果 最终效果: 应用中的效果: 素材图片: 源码: // // ViewController.m // 每日故宫 // // Created by ... 
- 'Table is Marked as crashed and should be repaired Error'.Mysql表损坏解决方案
			问题表现:由于服务器崩溃导致表损坏无法打开或者能打开但是无法写入数据(提示主键重复但实际没有该主键且该主键值在最大值范围内). 本文提供两种检查修复方式:mysqlcheck 和 myisamchk ... 
- #001 HTML快速入门讲解
			整理了下最早开始学习技术的笔记 3W1H学习法? (其他技术同理) What HTML是什么? When 什么时候使用HTML? Why 为什么使用HTMl? HOW 怎么使用HTML ... 
- QT里使用Gsoap调用WebService
			错误了很多天,今天终于搞定,并得到了服务器的结果.这里把错误的原因记录下来. 首先是这里,之前一直没有加载进来,所以一直报错 SOURCES += main.cpp\ gsoap/soapClient ... 
- DotNET中的幕后英雄:MSCOREE.DLL
			现在做.NET Framework的开发的朋友应该是越来越多了,但是可能并非人人都对MSCOREE.DLL非常了解.而事实上,毫不夸张地说,MSCOREE.DLL是.NET Framework中最为核 ... 
- python and、or以及and-or
			@Python: and.or以及and-or 一.and: 在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值:而是,返回它们实际进行比较的值之一. & ... 
- mysql数据类型和使用方法
			版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/u011729265/article/details/25086957 MySQL支持 ... 
- 2038. [国家集训队]小Z的袜子【莫队】
			Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只 ... 
- MySQL 更改数据库数据存储目录
			MySQL数据库默认的数据库文件位于 /var/lib/mysql 下,有时候由于存储规划等原因,需要更改 MySQL 数据库的数据存储目录. 下文总结整理了实践过程的操作步骤. 1 确认MySQ ... 
