7.31 学习笔记

# 1.编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件),
# 要求登录成功一次,后续的函数都无需再输入用户名和密码
'''
def lonin(f):
def inner(*args,**kwargs):
un=input('请输入用户名:')
pa=input('请输入密码:')
if un=='1'and pa=='2':
ret=f(*args,**kwargs)
else:print('登录失败')
return ret
return inner
@lonin
def dele(f):
print('减少了物品')
1
@lonin
def addg(f):
print('增加了商品')
addg(123132)
dele('sd')
'''
# 2.编写装饰器,为多个函数加上记录调用功能,要求每次调用函数都将被调用的函数名称写入文件
def lonin(f):
def inner(*args,**kwargs):
un=input('请输入用户名:')
pa=input('请输入密码:')
if un == '1' and pa == '2':
with open('log',mode='r+',encoding='utf-8') as dsl:
f.write(f.__name__ + '\n')
ret=f(*args,**kwargs)
return ret
else:print('登录失败')

return inner
@lonin
def dele(f):
print('减少了物品')
@lonin
def addg(f):
print('增加了商品')
addg()
dele(),addg()
dele()


# 进阶作业(选做):
# 1.编写下载网页内容的函数,要求功能是:用户传入一个url,函数返回下载页面的结果
# 2.为题目1编写装饰器,实现缓存网页内容的功能:
# 具体:实现下载的页面存放于文件中,如果文件内有值(文件大小不为0),就优先从文件中读取网页内容,否则,就去下载,然后存到文件中
posted @ 2018-08-16 15:27  SHORI  阅读(98)  评论(0编辑  收藏  举报