1. 程式人生 > >Python(73)_裝飾器函數練習_執行函數前登錄驗證

Python(73)_裝飾器函數練習_執行函數前登錄驗證

tool ret 失敗 login 編寫 clas imp 要求 用戶名

#-*-coding:utf-8-*-
import os
import time
from functools import wraps
‘‘‘
1、編寫裝飾器,為多個函數加上認證的功能(用戶的賬號和密碼來源於文件)
2、要求登錄一次,後續函數都無需輸入用戶名和密碼
‘‘‘
FLAG = False
def login(func):
    def inner(*args,**kwargs):
        global FLAG
        ‘‘‘  登錄程序 ‘‘‘

        if FLAG:
            ret = func(*args, **kwargs)
            
return ret else: username = input("username :" ) password = input(password : ) if username == bowen and password == 22222: FLAG = True ret = func(*args,**kwargs) return ret else:
print(登錄失敗) return inner @login def shoplist_add(): print("添加一個物品") @login def shoplist_del(): print("刪除一個物品") shoplist_add() shoplist_del()

技術分享圖片

Python(73)_裝飾器函數練習_執行函數前登錄驗證