在實現用戶驗證的登錄的時候可以使用裝飾器工廠產生裝飾器,讓裝飾器得到參數,從而判斷登錄類型,並驗證用戶登錄條件,代碼實現如下:
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()
