装饰器
- 理解:
- 装饰:房子不装修就可以住,如果装修,不影响你住.而且体验更加,让你生活增加了很多功能:洗澡等
- 器: 工具
- 开放封闭原则
- 开放:对代码拓展开放的.更新地图,加新枪等.
- 封闭:对源码的修改是封闭的.
- 闪躲用q,就是一个功能.一个函数.别人打你,射你,等..这个功能不会改变
- 装饰器:完全遵循开放封闭原则.
- 定义:在不改变原函数代码以及调用方式的前提下,为其增加新的功能
- 装饰器就是一个函数
- 装饰器的本质就是闭包(自由变量)
- 装饰器的应用
- 登陆认证
- 这周周末作业:模拟博客园登录的作业.装饰器的认证功能
- 语法糖
装饰器函数
def wrapper(func):
def inner():
print('函数执行前')
ret=func()
print('函数执行后')
return ret
return inner
@wrapper 1. --->index=wrapper(index) --->执行wrapper函数 --->返回inner 则:index =inner
def index():
print('index')
return "sss"
index() 2. index()执行 则为inner()执行 此时执行inner函数 打印1,执行func函数,此时func函数为开始传入的index 则执行index函数内 内容 然后执行打印2
输出结果:
函数执行前
index
函数执行后