python装饰器

it2022-05-05  199

一、装饰器:代表函数(完成特定功能) 1,原则:不能修改被装饰函数源代码,不能修改被装饰的函数调用方式 2.方法: 函数即变量:函数作为一个变量 高阶函数:把函数名当实参传给另一个函数或者返回值中包含函数名 切套函数:函数加函数

例如:

变量先定义-------后调用(只要调用之前存在就能调用)

例如:

定义test1,把函数体放入内存当中,指向test函数名

例如:

需求:在不改变源码和调用方式情况下,新增统计运行时间

def te(): time.sleep(3) print('te') #高阶函数 def test1(fun): start_time=time.time() #当前时间 fun() #运行te函数(把te传给了fun---fun=te-----fun()te函数可以像变量一样赋值) stop_time=time.time() #结束时间 print("the fun run time is %s" %(stop_time-start_time)) return fun te=test1(te)#不改变函数调用方式 te()

结果:te the fun run time is 3.00032901763916


最新回复(0)