码迷,mamicode.com
首页 > 其他好文 > 详细

11-装饰器

时间:2018-03-31 23:09:17      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:执行   gpo   判断   closure   bsp   嵌套   高阶函数   原则   函数   

函数

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

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

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

 

闭包


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

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

    节省内存空间


装饰器:


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

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

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

11-装饰器

标签:执行   gpo   判断   closure   bsp   嵌套   高阶函数   原则   函数   

原文地址:https://www.cnblogs.com/kuoiea/p/8684406.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!