个人理解
装饰器: 通过闭包和将一个函数作为另一个函数参数的形式,实现已有功能的灵活调用
例如:
首先设置了一个time_master的计时器函数,在运行某个函数的同时,用来统计函数的耗时
那么,如果想知道函数性能, 每次写完新的函数后,都放到time_master函数中运行一次来统计。
——> 这是比较麻烦的。相当于虽然有了一个称,但是所有的新买食材都需要逐个放到称上去称一遍,来获得食材的重量
——> 如果能够省略掉一次一次上称这个步骤就好了
——> 比如每个食材进门的同时就从称上走过,那进来的同时,也就有了重量的数据
例子:调用函数的同时对函数进行计时
实现方法1:@语法糖
代码:
# 涉及到计时,需要引入time模块
import time
# 定义一个对函数运行耗时统计的计时器,用func作为形参来代替需要统计的函数
def time_master(func):
def call_func():
print("计时器开始:函数开始调用:")
start_time = time.time()
func