装饰器
Posted zhowhen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了装饰器相关的知识,希望对你有一定的参考价值。
装饰器:本质还是一个函数(装饰其他函数),为了替其他函数添加附加功能
原则:1、不修改被装饰函数的源代码。2、不修改被装饰函数的调用方式
实现装饰器必要条件:
一、函数即‘变量’
二、高阶函数
三、嵌套函数
计算一个函数运行时间:
import time
def timer(func): #timer(aa) func=aa 高阶函数
def deco(*args,**kwargs): # 内嵌函数
start_time=time.time()
func(*args,**kwargs)
stop_time=time.time()
print(‘run time:%s‘%(stop_time-start_time))
return deco
@timer #aa=timer(aa)
def aa():
time.sleep(3)
print(‘i am aa!‘)
@timer
def bb(name):
time.sleep(1)
print(‘i am ‘,name)
aa()
bb(‘zhow‘)
以上是关于装饰器的主要内容,如果未能解决你的问题,请参考以下文章