亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python實現(xiàn)帶參數(shù)的用戶驗證功能裝飾器示例

 更新時間:2018年12月14日 12:08:31   作者:我是馬克思小清新  
這篇文章主要介紹了Python實現(xiàn)帶參數(shù)的用戶驗證功能裝飾器,結合實例形式分析了Python用戶驗證裝飾器具體定義及使用技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)帶參數(shù)的用戶驗證功能裝飾器。分享給大家供大家參考,具體如下:

user_list = [
  {'name': 'sb1', 'passwd': '123'},
  {'name': 'sb2', 'passwd': '123'},
  {'name': 'sb3', 'passwd': '123'},
  {'name': 'sb4', 'passwd': '123'}
]
# 初始狀態(tài),用來保存登陸的用戶,
client_dic = {'username': None, 'login': False}
# 添加新功能
def auth(auth_type='filedb'):
  def auth_func(func):
    def wrapper(*args, **kwargs):
      print(auth_type)
      if auth_type == 'fildb':
      # 參數(shù)檢查,判斷是否有用戶登錄,如果有,不用驗證,直接執(zhí)行函數(shù)的功能
        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('用戶名或者密碼錯誤!')
      elif auth_type == 'pass':
        print('不知道什么驗證方式')
        res = func(*args, **kwargs)
        return res
      else:
        print('一臉蒙蔽的驗證方式')
        res = func(*args, **kwargs)
        return res
    return wrapper
  return auth_func
@auth(auth_type='filedb')
def index():
  print("歡迎來到主頁")
@auth(auth_type='user')
def home(name):
  print("歡迎回家:%s" % name)
@auth(auth_type='pass')
def shoppping_car():
  print('購物車里有[%s,%s,%s]' % ('奶茶', '妹妹', '娃娃'))
print(client_dic)
index()
print(client_dic)
home('root')

運行結果:

{'username': None, 'login': False}
filedb
一臉蒙蔽的驗證方式
歡迎來到主頁
{'username': None, 'login': False}
user
一臉蒙蔽的驗證方式
歡迎回家:root

更多關于Python相關內容可查看本站專題:《Python數(shù)據(jù)結構與算法教程》、《Python Socket編程技巧總結》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • Python的高級Git庫 Gittle

    Python的高級Git庫 Gittle

    Gittle是一個高級純python git 庫。構建在dulwich之上,提供了大部分的低層機制
    2014-09-09
  • Python使用asyncio處理異步編程的代碼示例

    Python使用asyncio處理異步編程的代碼示例

    在 Python 中,異步編程可以使用 asyncio 庫,該庫提供了一些工具和功能來編寫異步代碼,本文介紹了處理異步編程的幾個關鍵概念和示例,需要的朋友可以參考下
    2024-07-07
  • Python中ImportError錯誤的詳細解決方法

    Python中ImportError錯誤的詳細解決方法

    最近辛辛苦苦安裝完了python,最后再運行的時候會出現(xiàn)錯誤,所以這篇文章主要給大家介紹了關于Python中ImportError錯誤的詳細解決方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • Python?Poetrya項目依賴管理安裝使用詳解

    Python?Poetrya項目依賴管理安裝使用詳解

    這篇文章主要為大家介紹了Python?Poetrya項目依賴管理安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • 解決Python設置函數(shù)調用超時,進程卡住的問題

    解決Python設置函數(shù)調用超時,進程卡住的問題

    今天小編就為大家分享一篇解決Python設置函數(shù)調用超時,進程卡住的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 如何使用Python做個自定義動態(tài)壁紙

    如何使用Python做個自定義動態(tài)壁紙

    這篇文章主要介紹了如何使用Python做個自定義動態(tài)壁紙的相關資料,需要的朋友可以參考下方法
    2021-08-08
  • Python 數(shù)據(jù)結構之隊列的實現(xiàn)

    Python 數(shù)據(jù)結構之隊列的實現(xiàn)

    這篇文章主要介紹了Python 數(shù)據(jù)結構之隊列的實現(xiàn)的相關資料,需要的朋友可以參考下
    2017-01-01
  • python直接調用和使用swig法方調用c++庫

    python直接調用和使用swig法方調用c++庫

    這篇文章主要介紹了python直接調用和使用swig法方調用c++庫,c++運算速度快于python,python簡單易寫。很多時候對于已有的c++代碼也不想用python重寫,此時就自然而然地想到用python調用c或者c++,兩全其美,需要的朋友可以參考一下
    2022-03-03
  • 完美解決Pycharm中matplotlib畫圖中文亂碼問題

    完美解決Pycharm中matplotlib畫圖中文亂碼問題

    這篇文章主要介紹了完美解決Pycharm中matplotlib畫圖中文亂碼問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Python中max函數(shù)用于二維列表的實例

    Python中max函數(shù)用于二維列表的實例

    下面小編就為大家分享一篇Python中max函數(shù)用于二維列表的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論