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

  • 更新时间:2020-01-20 08:55:03
  • 编辑:桂晓灵
给寻找编程代码教程的朋友们精选了Python相关的编程文章,网友扶阳煦根据主题投稿了本篇教程内容,涉及到Python、装饰器、用户登陆验证、Python使用装饰器模拟用户登陆验证功能示例相关内容,已被840网友关注,下面的电子资料对本篇知识点有更加详尽的解释。

参考资料

正文内容

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相关教程

  • Python处理文本文件中控制字符的方法

    最近在使用Python的时候遇到过文档中出现控制字符报错的问题。想着总结一下,方便以后需要或这同样遇到问题的朋友,下面这篇文章主要介绍了Python处理文本文件中控制字符的解决方法,需要

    发布时间:2019-08-26

  • Python解析JSON对象的全过程记录

    这篇文章主要给大家介绍了关于Python解析JSON对象的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    发布时间:2021-05-02

  • 精通Python爬虫框架Scrapy

    精通Python爬虫框架Scrapy

    大小:8.6 MBPython爬虫电子书

  • Python3程序开发指南(第2版)

    Python3程序开发指南(第2版)

    本书全面深入地讲解了Python语言,讲述了构成Python语言的8个关键要素,包含数据类型、控制结构与函数、模块、正则表达式、GUI程序设计等各个方面

    大小:419.2 MBPython3电子书

  • 利用Python进行数据分析(第2版)

    利用Python进行数据分析(第2版)

    本书涵盖大量具体的实践建议,以及大量综合应用方法,教大家如何利用各种Python库高效地解决各式各样的数据分析问题,这里提供利用Python进行数据分析英文原版下载,附件集合了第二版英文原文、第二版的笔记精要、以及第二版原书的代码

    大小:91.7 MBPython电子书

  • 零起点Python大数据与量化交易

    零起点Python大数据与量化交易

    零起点Python大数据与量化交易 是国内较早关于Python大数据与量化交易的原创图书,配合zwPython开发平台和zwQuant开源量化软件学习,是一套完整的大数据分析、量化交易的学习教材,可直接用于

    大小:21.6 MBPython电子书

  • Python网络爬虫实战

    Python网络爬虫实战

    本书从Python的安装开始,详细讲解了Python从简单程序延伸到Python网络爬虫的全过程。本书从实战出发,根据不同的需求选取不同的爬虫,有针对性地讲解了几种Python网络爬虫。本书共8章,涵盖

    大小:47.4 MBPython爬虫电子书

  • Python 快速入门

    Python 快速入门

    Python现如今早已发展趋势变成这种令人震惊的编程语言,它已强劲到得以解决从最底层资源到手机应用程序(如深度神经网络)的各个方面。它既简约、雅致又作用完善,还有着巨大的由库和

    大小:9.73 MBPython入门

  • ArcGIS下的Python编程

    ArcGIS下的Python编程

    本书为规划师提供了学习基于ArcGIS的脚本语言Python教材,将对Python语言的讲述与ArcGIS的模块ArcPy相结合,并通过实际案例探讨自然村落选址因子权重评定的遗传算法、基于景观感知敏感度的生态旅游地观光线路自动选址和解读蚁群算法与TSP 问题,理解编程规划设计的方法

    大小:144 MB编程设计电子书

用户留言