def func_outer(float_decimal): #接收装饰器 也就是函数糖的函数 相当于 固定类定义函数 # 返回给下一层函数 def get_time(func): #接受被装饰的函数 也就是func1() #将函数返回给内层函数()wrapper def wrapper(*args, **kwargs): #也可以为空,因为此刻被装饰函数并未传入参数 #接受被装饰的函数参数 #对其增加额外的功能 同时用到外层函数参数 也就是get_time 和 func_outer 的函数 s1 = time.time() result = func(*args, **kwargs) #也可以为空,因为此刻被装饰函数也就fun1()并未传入参数 #含参数的结果 s2 = time.time() ret = round(s2 - s1 ,float_decimal) #在最外层加入float_decimal的固有函数用于此处,来限定小数点位数。 print(f'函数执行时间为:{ret}秒') return result return wrapper return get_time @func_outer(float_decimal= 3) def fun1(): _sum = 0 for i in range(100000): _sum += 1 return _sum print(fun1())
__装饰器
最新推荐文章于 2024-05-30 11:43:13 发布