zoukankan      html  css  js  c++  java
  • 装饰器

    装饰器

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

  • 相关阅读:
    js瀑布流
    键盘控制物体走
    数组模拟三级联动
    会飞的小鸟小游戏 原生js
    js 广告 网页漂浮
    Vue 选项卡和 js 选项卡
    vue-购物车效果
    vue-温度控制/登录显示/反转
    vue初始
    php array_column 和array_multisort函数实现按某一字段对二维数组进行排序-test
  • 原文地址:https://www.cnblogs.com/luyi84895838/p/11727336.html
Copyright © 2011-2022 走看看