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:在局部中声明变量是外层函数的变量,无法受全局变量影响。

  • 相关阅读:
    jQuery Validate 验证成功时的提示信息
    MySQL定时任务实现方法
    tp5获取器的用法。
    使用layui异步请求上传图片在tp5.1环境下出现“请对上传接口返回json”的错误的解决方法
    微信小程序底部菜单栏的使用方法
    接口测试中的接口到底是什么?
    【web自动化测试】requests-html 这个解析库,能让你更轻松的获取网页内容
    一个软件测试小白的进阶之路
    Python进阶:@property 动态属性
    百度网盘限速怎么办?
  • 原文地址:https://www.cnblogs.com/lipengjia/p/9714877.html
Copyright © 2011-2022 走看看