装饰器详解

1.装饰器是什么?

记住下图就够了:

 

作用: 在不改变源代码的基础上,实现,在原函数上新增功能;

 

2.解释器执行装饰器 过程:

 

知识点补充:

2.1函数也是一个对象

def fun():

  ....

  return a

# 定义一个函数,只是在内存中创建了一个变量fun,不去调用函数,则函数里边的代码不执行;

# fun这个函数名----->代指 这整个函数所在的内存空间,func()则是去执行这个函数;

2.2嵌套函数

1)函数内部也可以使用另一个函数;

2)函数内部可以定义一个新的函数(装饰器就用了这一点);

 

3.装饰器 返回值的问题

 

# 函数遇到return 就不执行了,退出函数。

 

4.原函数有参数的装饰器 写法:

一下是单个参数的时候:

 

通用的解决方案:

 

5. 装饰器 常用的实例

posted @ 2017-04-09 18:08  谢小花❀  阅读(165)  评论(0编辑  收藏  举报