python实战:装饰模式详解
更多内容请见: python3案例和总结-专栏介绍和目录
文章目录
-
- 一、为什么需要装饰器?
-
- 1.1 不好的做法
- 1.2 装饰器的本质:闭包
- 1.3 使用装饰器的建议
- 二、构建装饰器方式
-
- 2.1 从零开始构建一个装饰器
- 2.2 处理带参数的函数
- 2.3 保留函数的元信息:`functools.wraps`
- 2.4 带参数的装饰器
- 2.5 类装饰器
一、为什么需要装饰器?
1.1 不好的做法
假如写了10个函数,现在需要为每一个函数都增加一个“计算运行时间”的功能。
糟糕的做法(修改原函数):
import time
def func1():start = time.time()print("Function 1 is running..."