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

    装饰器

      器:工具

      装饰:指的是为被装饰对象添加功能

      装饰器本身可以是任意调用的对象==》函数

      被装饰对象也是可以被任意可任意调用的对象==》函数

      目标:写一个函数来为另外一个函数添加新功能

    2.为何要使用装饰器?

      开放封闭原则:软件一旦上线就应该对修改封闭,对扩展开放。

      对修改封闭:

        1.不能修改功能的源代码

        2.也不能修改功能的调用方式

      对扩展开放原则:

        可以为原有功能的基础上添加功能

    装饰器就是在不能修改源代码和调用的方式的前提下为原功能添加额外的新功能

    如何使用装饰器?

    无参装饰器模板

    def otter(func):#func参数接受被修饰函数的
        def wrapper(*args,**kwargs):
            res = func(*args,**kwargs)#就原函数的参数
            #为其添加功能
            return res#返回func的返回值
        return wrapper#闭包函数,让外部调用
        

    使用方式

    @outter
    def f1():
        print('f1 run')
    
    #@outtrt 相当于 f1 = outter(f1)
    
    #调用
    f1()
  • 相关阅读:
    Java关键字transient和volatile小结(转)
    1、环境
    SSH框架搭建
    2.4 easyui
    PHP操作大文件
    PHP小工具
    PHP正则替换函数收集
    PHP小知识收集
    Yii ACF(accessController)简单控权
    linux 文件存放目录
  • 原文地址:https://www.cnblogs.com/msj513/p/9714986.html
Copyright © 2011-2022 走看看