来源:太原达内IT教育学校
时间:2021/5/11 17:40:18
太原口碑好的Python培训机构,小编在这里为大家推荐太原达内IT培训,17年专业IT培训机构,美国上市集团,开设IT培训班Java、python、大数据、linux、UI、会计等IT培训,覆盖IT培训和非IT培训共24大课程。达内集团凭借雄厚的技术研发实力、过硬的教学质量、成熟的就业服务团队,为学员提供强大的职业竞争力,在用人企业中树立了良好的口碑。欢迎大家的在线咨询,0元试听,随到随学,推荐就业。接下来小编为您分享,python函数 | 装饰器
带参数的装饰器的应用:登录认证(优化)
登录博客园可以使用第三方账号登录
装饰器要分情况去判断账号和密码,不同的函数用的账号和密码来源不同
写一个可以接受参数的装饰器
login_status = {
'username': None,
'status': False,
}
def auth(x):
def auth2(func):
def inner(*args, **kwargs):
if login_status['status']:
ret = func(*args, **kwargs)
return ret
if x == 'wechat':
username = input('请输入用户名:').strip()
password = input('请输入密码:').strip()
if username == 'pamela' and password == '123':
print('登录成功')
login_status['username'] = username
login_status['status'] = True
ret = func(*args, **kwargs)
return ret
elif x == 'qq':
username = input('请输入用户名:').strip()
password = input('请输入密码:').strip()
if username == 'pamela' and password == '456':
print('登录成功')
login_status['username'] = username
login_status['status'] = True
ret = func(*args, **kwargs)
return ret
else:
print('登录失败')
return inner
return auth2
@auth('wechat')
def cnblogs_home():
print('成功进入博客园主页')
@auth('qq')
def cnblogs_posts():
print('成功进入博客园随笔页面')
cnblogs_home()
cnblogs_posts()
温馨提示:为了不影响您的时间,来校区前或者遇到不明白的问题请先电话咨询,方便我校安排相关课程的专业老师为您解答,选取适合您的课程。以上是太原达内教育的小编为您分享的关于python函数 | 装饰器的内容,获取更多Python资讯请持续关注太原达内教育。
版权所有:搜学搜课(www.soxsok.com)