在實現用戶驗證的登錄的時候可以使用裝飾器工廠產生裝飾器,讓裝飾器得到參數,從而判斷登錄類型,並驗證用戶登錄條件,代碼實現如下:
def login_type(type): def Outer(F): def inner(): if type == 'QQ': name = input('請輸入用戶名:') psw = input('請輸入密碼:') if name == '汪凡' and psw == '198765': print('登陸成功!') return F() else: print('登錄失敗,請正確輸入!') else: print('請使用QQ登錄!') return inner return Outer type = input('請輸入登錄方式:') @login_type(type) def America(): print('美國人') @login_type(type) def Japan(): print('日本人') America()