在实现用户验证的登录的时候可以使用装饰器工厂产生装饰器,让装饰器得到参数,从而判断登录类型,并验证用户登录条件,代码实现如下:
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()