装饰器

装饰器

  • 理解:
    • 装饰:房子不装修就可以住,如果装修,不影响你住.而且体验更加,让你生活增加了很多功能:洗澡等
    • 器: 工具
  • 开放封闭原则
    • 开放:对代码拓展开放的.更新地图,加新枪等.
    • 封闭:对源码的修改是封闭的.
      • 闪躲用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
    函数执行后

posted @ 2019-10-23 17:02  路一  阅读(90)  评论(0编辑  收藏  举报