当前位置:主页 > python教程 > Python使用装饰器模拟用户登陆验证功能示例

Python装饰器模拟用户登陆验证的实现方法

发布:2020-01-20 08:55:03 62


为找教程的网友们整理了Python相关的编程文章,网友辛博学根据主题投稿了本篇教程内容,涉及到Python、装饰器、用户登陆验证、Python使用装饰器模拟用户登陆验证功能示例相关内容,已被356网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

Python使用装饰器模拟用户登陆验证功能示例

本文实例讲述了Python使用装饰器模拟用户登陆验证功能。分享给大家供大家参考,具体如下:

# -*- coding:utf-8 -*-
#!python3
user_list = [
  {'name':'ad1','passwd':'123'},
  {'name':'ad2','passwd':'123'},
  {'name':'ad3','passwd':'123'},
  {'name':'ad4','passwd':'123'}
]
#初始状态,用来保存登陆的用户,
client_dic = {'username':None,'login':False}
#添加新功能
def auth_func(func):
  def wrapper(*args,**kwargs):
    #参数检查,判断是否有用户登录,如果有,不用验证,直接执行函数的功能
    if client_dic['username'] and client_dic['login']:
      res = func(*args,**kwargs)
      return res
    #输入用户名和密码
    username = input('用户名:').strip()
    passwd = input('passwd:').strip()
    #对比列表,检查用户名和密码是否正确
    for user_dic in user_list:
      if username == user_dic['name'] and passwd == user_dic['passwd']:
        client_dic['username'] = user_dic['name']
        client_dic['login'] = True
        res = func(*args,**kwargs)
        return res
    else:
      print('用户名或者密码错误!')
  return wrapper
@auth_func
def index():
  print("欢迎来到主页")
@auth_func
def home(name):
  print("欢迎回家:%s"%name)
@auth_func
def shoppping_car():
  print('购物车里有[%s,%s,%s]'%('奶茶','妹妹','娃娃'))
print(client_dic)
index()
print(client_dic)
home('root')

运行结果:

Python使用装饰器模拟用户登陆验证功能示例

希望本文所述对大家Python程序设计有所帮助。


参考资料

相关文章

  • python爬取m3u8连接的视频

    发布:2022-04-14

    这篇文章主要为大家详细介绍了python如何爬取m3u8连接的视频,具有一定的参考价值,感兴趣的小伙伴们可以参考一下


  • Python使用pycharm导入pymysql教程

    发布:2021-04-19

    这篇文章主要介绍了Python使用pycharm导入pymysql教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • python中执行命令的方法总结

    发布:2020-02-21

    目前我使用到的python中执行cmd的方式有三种:1 使用os system(cmd)特点是执行的时候程序会打出cmd在linux上执行的信息。import osos


  • python 中 __init__的意义以及作用

    发布:2023-03-24

    python中的__init__是一个私有函数(方法),访问私有函数中的变量在python中用self,在PHP中用$this,这篇文章主要介绍了python 中 __init__的意义以及作用,需要的朋友可以参考下


  • 11个案例讲透Python函数参数小结

    发布:2023-03-24

    本文主要介绍了11个案例讲透Python函数参数小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • Python打包后的exe还原成.py的实现步骤

    发布:2023-04-01

    本文主要介绍了Python打包后的exe还原成.py的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • python使用thrift教程及实例

    发布:2021-05-08

    这篇文章主要介绍了python使用thrift教程的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • Python的发展史及用途

    发布:2021-06-01

    本章高度概括了笔者这些年python的学习


网友讨论