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

    无参装饰器

     

    1 开放封闭原则

        软件一旦上线后,就应该遵循开放封闭原则,即对修改源代码是封闭的,对功能的扩展是开放的

        也就是说我们必须找到一种解决方案:

            能够在不修改一个功能源代码以及调用方式的前提下,为其加上新功能

     

            总结,

            原则如下:

                1、不修改源代码

                2、不修改调用方式

            目的:

                在遵循1和2原则的基础上扩展新功能

     

    2、什么是装饰器?

        器指的工具,装饰指的是为被装饰对象添加新功能

     

        完整含义:

            装饰器即在不修改被装饰对象源代码与调用方式的前提下,为被装饰器对象添加新功能

     

            装饰器与被装饰的对象均可以是任意可调用的对象

     

            装饰器=》函数

            被装饰的对象=》函数

     

     

    #无参装饰器模板

    def outer(func):

        def inner(*args,**kwargs):

            res=func(*args,**kwargs)

            return res

        return inner

     

     

    装饰器魔法糖

     

    关键字@,@后面跟装饰器函数名,正下面为需要用到装饰器的函数,@必须单独一行

     

     

     

     有参装饰器

     

    在装饰器上再加一层包装,也就是再套一套函数,

     

    魔法糖调用时,@最外层函数(参数),@带参数最外层函数

  • 相关阅读:
    MD5加密
    HDU 1800 Flying to the Mars(Trie字典树 upper_bound)
    POJ 3624 Charm Bracelet(01背包 基础)
    hdu 1005 (规律 循环节)
    ZOJ 3710 friends(暴力 枚举 水)
    zoj 3714 Java Beans(枚举 水)
    hdu 1108 最小公倍数(数论基础 水)
    POJ 1797 Heavy Transportation(dijkstra )
    poj 3984 迷宫问题(bfs 打印路径)
    报数游戏(模拟 枚举)
  • 原文地址:https://www.cnblogs.com/yangli0504/p/9135017.html
Copyright © 2011-2022 走看看