Python 之 闭包 & 装饰器 + 实例详解

闭包:

  • 函数的多层嵌套,  在函数内再定义一个函数,并且这个函数用到函数的变量,那么将内部的函数以及用到外部的一些变量看着一个特殊的对象, 称之为闭包
  • 实例: ( 左: 面向对象    右: 闭包)
  • Python 之 闭包 & 装饰器 + 实例详解
    • 总结: 函数,    匿名函数,    闭包,    面向对象,    有什么区别 ?
      • 1. 普通函数: 能完成 复杂的功能...传递的是这个函数的引用, 只有功能
      • 2. 匿名函数: 能完成 简单的功能...传递的是这个函数的引用, 只有功能
      • 3. 闭包: 能够完成 较为复杂的功能...比函数强大, 传递的是这个闭包中的 函数数据, 占用资源比较小
      • 4. 面向对象: 能够完成 最为复杂的功能...比闭包强大, 传递的是 很多功能 + 数据, 占用大量空间, 浪费资源

 

装饰器:

  • 装饰器由来:
    • 开放封闭原则:

      • 简单来说,规定已经实现的功能代码不允许被修改,但可以被扩展
      • 封闭: 已实现的功能代码块
      • 开放: 可扩展开发
  • 装饰器是由函数去生成的,用于装饰某个 函数 或者 方法 或者 ,利用闭包的原理, 对一个目标函数进行装饰, 让这个目标函数在执行之前 或者 执行之后做一些操作
  • 通用的装饰器示例: ( 在闭包里添加return )
  • Python 之 闭包 & 装饰器 + 实例详解