1、作用:基于不改变原有函数(或类)的前提下,新增函数功能
2、特点:入参和返回值均为函数
3、实例:记录函数运行时间
# noinspection PyUnresolvedReferences import time #装饰函数:计算函数运行时间 #注意wrapper的参数要写入f()的入参,f()的入参要写实际功能函数的入参 #返回函数wrapper后不要加() def time_rec(f): def wrapper(a,b): start_time = time.time() f(a,b) end_time = time.time() run_time = end_time - start_time print ('函数运行时间为%d'%run_time) return wrapper #功能函数:加法 #add_num是装饰函数time_rec的入参 @time_rec def add_num(a,b): time.sleep(1) print ('%d与%d之和为:%d'%(a,b,(a+b))) #功能函数:减法 #sub_num是装饰函数time_rec的入参 @time_rec def sub_num(a,b): print ('%d与%d之差为:%d'%(a,b,(a-b))) if __name__ == '__main__': add_num(3,2) sub_num(3,2)