装饰器:装饰函数和类,作用:扩展增加函数和类的功能
两大类:装饰器函数和装饰器类
函数: 封装代码最小单元,提供代码复用性
函数可以用为参数;
函数可以作为变量;
函数也可以返回函数;
import time
def runTime(func):
"""
装饰函数
原来功能 + 扩展的功能: 统计每个函数的耗时
:param func:
:return:
"""
def wrapper(*args,**kwargs):
start = time.time()
#原来功能
func(*args, **kwargs)
end = time.time()
cost = end - start
print(f"统计函数使用时长:{func.__name__}耗时{cost}s")
return wrapper
@runTime
def test_no_params():
print("这是一个无参数的装饰器测试")
@runTime
def test_have_params(*args,**kwargs):
sum = 0
for num in args:
sum += num
print(f"求和: {sum}")
return sum
test_no_params()
test_have_params(2,4,3,5,6,8,9)
原文:https://www.cnblogs.com/deeptester-vv/p/15137104.html