D20-05 函式閉包 為函式加認證 (再看幾遍)
阿新 • • 發佈:2018-11-10
user_dic={'username':None,'login':False} def auth_func(func): #高階函式傳的是函式名 def wrapper(*args,**kwargs): if user_dic['username'] and user_dic['login']:#先判斷有沒有使用者登入,登入狀態是不是True res = func(*args,**kwargs) return res username=input('使用者名稱:') passwd=input('密碼') if username =='sb' and passwd =='123': #已經輸入賬號密碼,所以需要記錄。 user_dic['username']=username user_dic['login']=True res = func(*args,**kwargs) return res else: print('使用者名稱密碼輸入錯誤') return wrapper() @auth_func def index(): print('歡迎來到京東主頁') @auth_func def home(): print('歡迎回家') @auth_func def shopping_car(): print('購物車裡有【%s,%s】'%('茶','妹妹'))