zoukankan      html  css  js  c++  java
  • DAY12学习笔记

      装饰器

        什么是装饰器

          器->工具。

          装饰->指的是为被装饰对象添加新功能。

          装饰器本身可以是任意可调用的对象->函数。

          被装饰对象也可以是任意可调用的对象->函数。

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

        为何要用装饰器

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

            对修改封闭:

              不能修改功能的源代码。

              也不能修改代码的调用方式。

            对扩展开放:

              可以为原有功能添加新的功能。

          用装饰器的目的就是在不修改功能源代码以及调用方式的前提下,为其添加新的功能。

        如何用装饰器

          利用两层闭包函数为核心语法为程序实现某些功能。     

        装饰器的语法糖@

          @语法糖的名字要在被装饰对象的正上方一行单独写入。

        有参装饰器

          模板:def outter2(xxx,yyy):

               def outter(func):

                 def wrapper(*args,**kwargs):

                   res=func(*args,**kwargs)

                   print(xxx) print(yyy)

                   return res

                 return wrapper

               return outter

          在传值已经饱满,无法在进行传值的情况下,利用添加一层闭包函数来实现目的。

        global和nonlocal

          global:在局部声明变量为全局变量,用来在局部修改全局变量。

          nonlocal:在局部中声明变量是外层函数的变量,无法受全局变量影响。

  • 相关阅读:
    python学习笔记(33)pycharm中使用git
    VUE基础3-过滤器与生命周期
    VUE基础2-双向数据绑定
    VUE基础1方法与指令
    HTML基础之JS
    HTML基础之DOM操作
    HTML基础之CSS
    HTML基础之HTML标签
    python学习笔记(32)多线程&多进程
    python学习笔记(30)深拷贝、浅拷贝
  • 原文地址:https://www.cnblogs.com/lipengjia/p/9714877.html
Copyright © 2011-2022 走看看