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