11-装饰器

Posted kuoiea

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了11-装饰器相关的知识,希望对你有一定的参考价值。

函数

  函数名是函数的名字,本质是:变量,特殊的变量

  高阶函数:
    函数的接受参数是一个函数名
    函数的返回值是一个函数名
    满足上述任意以个条件都是高阶函数

  函数名(): 执行此函数。
    单独打印函数名就是内存地址。
    函数名可以作为容器类数据的元素
    函数名可以作为参数
    函数名可以作函数的返回值

 

闭包


  就是内层函数对外层函数(非全局)变量的引用
  如何判断是否闭包:
    内层函数的名字.__closure__如果打印出cell则证明有闭包过程

  闭包用处:
    当函数开始执行时,如果当函数遇到闭包,他有一个机制,他会永远开辟一个内存空间,将闭包中的内存空间等值放入其中,不会随着函数的执行完毕而消失

    节省内存空间


装饰器:


  本质就是函数,功能是为其他函数添加附属功能

  装饰器 = 高阶函数 + 函数的嵌套 + 闭包器

  原则:
    不能修改被装饰函数的源代码
    不修改被装饰函数的调用方式

以上是关于11-装饰器的主要内容,如果未能解决你的问题,请参考以下文章

Python中的装饰器——11

11 IO流——装饰器设计模式,Filter装饰流

python全栈闯关--11-装饰器初识

Python记录11:叠加多个装饰器+有参装饰器

从零开始的Python学习Episode 11——装饰器

python 基础篇 11 函数进阶----装饰器