Day 12 作业.(完成)

你。 提交于 2020-03-03 09:04:38

1,将装饰器的所有知识点总结完成,将这几天的作业再整理一遍,还是不会的,就抄代码,一遍不行就三遍,直到所有知识点,所有题都整明白。

2,有时间就画流程图,梳理知识点。

3,上面两项完成的写以下作业。

 

4,给每个函数写一个记录日志的功能,

功能要求:每一次调用函数之前,要将函数名称,时间节点记录到log的日志中。

所需模块:

import time
struct_time = time.localtime()
print(time.strftime("%Y-%m-%d %H:%M:%S",struct_time))
# 所需要的模块# import time# struct_time = time.localtime()# print(time.strftime("%Y-%m-%d %H:%M:%S",struct_time))import timestatus_dic ={    "username":None,    "status":False,}def wrapper(func):    def inner(*args,**kwargs):        struct_time= time.localtime()        now_time = time.strftime("%Y - %m -%d %H:%M:%S",struct_time)        status_dic["username"]="萌哥"        status_dic["status"]=True        if status_dic["status"]:            with open("log","a",encoding="utf-8")as f1:                f1.write("%s 在%s时,调用了%s 函数\n" %(status_dic["username"],now_time,func.__name__))            ret = func(*args,**kwargs)            return ret    return inner@wrapperdef graph():    print("绘图功能")@wrapperdef login():    print("登录功能")graph()time.sleep(3)login()运行结果
萌哥在2018 02 23 20:54:38 时调用了graph 函数萌哥在2018 02 23 20:54:41 时调用了login 函数

5,在编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件),要求登录成功一次,后续的函数都无需再输入用户名和密码。这个作业之上进行升级操作:

     设置两套密码,一套为京东账号密码,一套为淘宝账号密码保存在文件中。

     设置四个函数,分别代表 京东首页,京东超市,淘宝首页,淘宝超市。

     循环打印四个选项:东首页,京东超市,淘宝首页,淘宝超市。

     供用户选择,用户输入选项后,执行该函数,四个函数都加上认证功能,只要登陆成功一次,在选择其他函数,后续都无需输入用户名和密码。

相关提示:用带参数的装饰器。装饰器内部加入判断,验证不同的账户密码。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!