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
        函数执行后
    

  • 相关阅读:
    Epic OA Day2 2014/11/7
    LeetCode day15 2014/11/3
    LeetCode day14 2014/11/2
    Bluetooth BQB PTS(Profile Tuning Suite)
    音频编码:ADPCM
    软件推荐 : USB Over Network
    IOS的BLE蓝牙连接参数限制
    python pyinstaller
    QCC3003x BLE 设置私有地址
    QCC300x UART
  • 原文地址:https://www.cnblogs.com/luyi84895838/p/11727336.html
Copyright © 2011-2022 走看看