01.装饰器
1.1 什么是装饰器?(What)
装饰器本质是函数,用来给其他函数添加新的功能
- 特点:
不修改调用方式、不修改源代码
1.2 装饰器的应用场景?(Where)
- 用户认证,判断用户是否登录
- 计算函数运行时间(算是一个功能、在项目里用的不多)
- 插入日志的时候
- redis缓存
1.3 为什么使用装饰器?(Why)
- 结合应用场景说需求
1.4 如何使用装饰器?(How)
1.4.1 装饰器求函数运行时间
1 | import time |
1.4.2 三级装饰器
1 | #! /usr/bin/env python |
1.5 装饰器在项目中应用场景
身份验证
- 写入日志
- redis缓存
1.5.1 身份验证
1 | user,passwd = 'aaa','123' |
1.5.2 记录日志
1 | #! /usr/bin/env python |
1.5.3 redis缓存
1 | 第一步:查询redis缓存是否存在这个key |
1.5.3.1 2B青年实现
- 2B青年每一个需要使用缓存的数据,我都写一个方法获取数据,再写一个方法处理缓存。
- 若需要用到缓存的地方越来越多,每一个都需要这么写一套代码,代码冗余繁琐。
1 | # coding:utf-8 |
1.5.3.2 NB青年
- NB青年可以使用三级装饰器,在装饰器中判断key如果存在就从reids中获取,如果不存在就从数据库查询,并设置到reids中
1 | # coding:utf-8 |
__END__