装饰器 - 印象云

好久不见,终于回归!

装饰器

写代码要遵循开放封闭原则,虽然在这个原则是用的面向对象开发,但是也适用于函数式编程,简单来说,它规定已经实现的功能代码不允许被修改,但可以被扩展,即:

  • 封闭:已实现的功能代码块
  • 开放:对扩展开发

注:

(1)装饰器在调用函数之前,已经被python解释器执行了,所以要牢记当调用函数之前其实已经装饰好了,尽管调用就可以了

(2)多个装饰器对同一个函数进行装饰

# 装饰器装饰是从下向上开始装,闭包执行是从上到下执行的

# 闭包的执行顺序是,当前代码从上向下看,先看到的装饰器的闭包先执行,后看到的装饰器的闭包后执行

(3)使用类做装饰器

(4)装饰器(decorator)功能

  1. 引入日志
  2. 函数执行时间统计
  3. 执行函数前预备处理
  4. 执行函数后清理功能
  5. 权限校验等场景
  6. 缓存

分享